我正在使用 Asynctask 来执行一个耗时的方法,doStuff()
其中包括分配全局数据结构。调试器确认doStuff()
已调用,但在 Asynctask 结束时绘制新视图时,访问全局数据结构时出现空指针异常。这是代码:
public class MyTask extends AsyncTask<Void, Void, Void> {
protected ProgressDialog dialog;
public MyTask (Context context) {
dialog = new ProgressDialog(context);
}
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog.setMessage("Foo");
dialog.show();
}
@Override
protected Void doInBackground(Void... params) {
doStuff();
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
dialog.dismiss();
}
}
我使用new MyTask(this).execute();
.