您可以在 AsyncTask 构造函数中传递活动上下文来创建 ProgressDialog :
MyAsyncTask 构造函数:
public MyAsyncTask(Context context){
progressDialog = new ProgressDialog(context, "Loading", "Please wait...");
}
onPreExecute 方法:
@Override
protected void onPreExecute()
{
progressDialog.show();
}
或存储上下文并在 onPreExecute 方法中创建对话框(但我更喜欢使用第一种方式):
public class MyAsyncTask extends AsyncTask{
private Context mContext;
public MyAsyncTask(Context context){
this.mContext = context;
}
@Override
protected void onPreExecute()
{
progress = ProgressDialog.show(this.mContext, "Loading", "Please Wait");
}
}
在声明 MyAsyncTask 的活动中,您传递活动:
MyAsyncTask asyncTask = new AsyncTask(this);
asynchTask.execute();