是否在活动中显示两次进度对话框?

时间:2016-04-26 13:44:58

标签: android android-asynctask progressdialog

在我的应用程序中有一个活动,它在后台一个接一个地执行两个AsyncTask。

在这些AsyncTasks onPreExecute中我有以下代码(progressDialog是私有的):

progressDialog=UI.getProgressDialog();
progressDialog.show();

UI类是实现一些布局管理的类,在方法getPregressDialog()中,我明确地创建 new ProgressDialog并将新的ProgressDialog返回给调用者。

在AsyncTasks的onPostExecute()方法中,我有以下代码:

 if(progressDialog.isShowing())
     progressDialog.dismiss();

执行第一个任务并解除progressDialog后,出现第二个任务。但永远不要解雇。似乎条件isShowing()返回false(显然我可以看到进度对话框);

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

  

公共变量意味着任何类都可以访问它。它是   适用于整个变量应该可以访问的情况   活动或申请。

  • 您可以使用if (progressDialog != null && progressDialog.isShowing()) { }

  • 声明public而不是private变量。 私人

  

public ProgressDialog progressDialog;