我的主要活动中有一个AsyncTask子类,我在其中重写onPreExecute以在线程执行时显示ProgressDialog,并且还重写onPostExecute方法以在单独的活动中发布执行线程的结果:
// progress dialog to show user that the scheduling request is being processed
private ProgressDialog dialog = new ProgressDialog(getActivity());
@Override
protected void onPreExecute() {
this.dialog.setMessage("Please wait");
this.dialog.show();
}
@Override
protected void onPostExecute(String result) {
Intent scheduleTasksIntent = TaskSchedulingActivity.newIntent(getActivity(),
(ArrayList<Task>) frontTasks, (ArrayList<Task>) preferableTasks);
startActivity(scheduleTasksIntent);
}
当我按下第二个活动(TaskSchedulingActivity)中的后退按钮返回创建AsyncTask子类的主活动时,将显示主活动,但进度对话框也会显示,并且仅当我单击其他位置时才会停止屏幕。
我想知道如何阻止这一点所以点击返回只是返回我的主要活动并且不显示进度对话框?
答案 0 :(得分:0)
简单。在onPostExecute中,在进入下一个活动之前执行this.dialog.dismiss()
。