在 activity 中两次显示进度对话框是否有问题?

Is showing a progress dialog twice in an activity problematic?

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

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

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

UI class 是一个 class 实现了一些布局管理,在方法 getPregressDialog() 中我显式地创建了 new ProgressDialog returns 调用者的新 ProgressDialog。

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

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

第一个任务执行并关闭 progressDialog 后,第二个任务出现。但从不拒绝。似乎条件是Showing() returns false(显然我可以看到进度对话框);

有什么建议吗?

A variable that is public means that any class can access it. It is useful for when the variable should be accessible by your entire Activity or Application .

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

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

public ProgressDialog progressDialog;