我正在启动asynctask
在 a 内部SherlockListFragment
创建的内部 aSherlockFragmentActivity
作为选项卡。
我将我的活动上下文传递给asynctask
构造函数,并像这样在里面初始化异步任务onCreate()
:
AsyncTask<String, Integer, String[]> asynctask = new DownloadFilesTask(getSherlockActivity()).execute(url);
AsyncTask 类 DownloadFilesTask 中的构造函数如下所示:
private ProgressDialog dialog;
private SherlockFragmentActivity activity;
public DownloadFilesTask(SherlockFragmentActivity activity) {
this.activity = activity;
this.dialog = new ProgressDialog(activity);
}
执行前和执行后如下所示:
protected void onPreExecute(){
Log.d("AsyncTask!", "Showing dialog now!"); //shown in logcat
dialog.setMessage("Retrieving all currently airing anime. Please wait.");
dialog.setCancelable(false);
dialog.show();
}
.
protected void onPostExecute(String[] result) {
Log.d("AsyncTask!", "Dismissing dialog now!"); //shown in logcat
dialog.dismiss();
}
但是在完成所有后台工作时,进度对话框不会出现!我在这里做错了什么?我认为这可能是一个上下文问题。