我有这段代码:
public static class ExportDatabaseFileTask extends AsyncTask<String, Void, Boolean>
{
private final ProgressDialog dialog = new ProgressDialog(ctx);
protected void onPreExecute();
protected Boolean doInBackground(final String... args);
protected void onPostExecute(final Boolean success);
}
我执行此线程为
new ExportDatabaseFileTask().execute();
如您所见,我在新的ProgressDialog调用中使用ctx作为Context变量,如何将上下文传递给调用方法?
到这一个:
new ExportDatabaseFileTask().execute();*
答案 0 :(得分:5)
我找到了方法,我必须创建自己的构造函数,并失去静态的东西
public ExportDatabaseFileTask(Context ctx) {
super();
this.ctx=ctx;
dialog= new ProgressDialog(ctx);
}
答案 1 :(得分:1)
只需定义一个静态setter方法,您可以在其中传递Context对象
答案 2 :(得分:0)
我在Dev Guide中偶然发现了这一点,我相信这正是它的目的。 android.content.ContextWrapper