2017-04-15 90 views
0

我有一个AsyncTask子类在我的主要活动中,我已覆盖onPreExecute在线程执行时显示ProgressDialog,还重写了onPostExecute方法以发布执行结果线程在一个单独的活动这样:防止按回显示ProgressDialog android

// 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.

我不知道我怎么会停止这个所以单击后退简单地返回到我的主要活动和不显示进度对话框?

+0

只是不要在进度条上调用show,或者在不需要时调用dismiss。 –

回答

0

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

+0

工作完美!谢谢。 – sums22