我正在开始asynctask
里面一个SherlockListFragment
这是在一个内部创建的SherlockFragmentActivity
作为选项卡。
我通过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();
}
但是当所有后台工作完成时,进度对话框不会显示!
我在这里做错了什么?我认为这可能是上下文问题。