如何将Context对象传递给调用中的线程

时间:2010-05-12 09:20:01

标签: java android

我有这段代码:

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();*

3 个答案:

答案 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