防止按下后退按钮显示ProgressDialog android

时间:2017-04-15 18:32:02

标签: android android-asynctask progressdialog

我的主要活动中有一个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子类的主活动时,将显示主活动,但进度对话框也会显示,并且仅当我单击其他位置时才会停止屏幕。

Here is a screenshot of the result when the back button is pressed.

我想知道如何阻止这一点所以点击返回只是返回我的主要活动并且不显示进度对话框?

1 个答案:

答案 0 :(得分:0)

简单。在onPostExecute中,在进入下一个活动之前执行this.dialog.dismiss()