在我的应用程序中有一个活动,它在后台一个接一个地执行两个AsyncTask。
在这些AsyncTasks onPreExecute中我有以下代码(progressDialog是私有的):
progressDialog=UI.getProgressDialog();
progressDialog.show();
UI类是实现一些布局管理的类,在方法getPregressDialog()中,我明确地创建 new ProgressDialog并将新的ProgressDialog返回给调用者。
在AsyncTasks的onPostExecute()方法中,我有以下代码:
if(progressDialog.isShowing())
progressDialog.dismiss();
执行第一个任务并解除progressDialog后,出现第二个任务。但永远不要解雇。似乎条件isShowing()返回false(显然我可以看到进度对话框);
有什么建议吗?
答案 0 :(得分:1)
公共变量意味着任何类都可以访问它。它是 适用于整个变量应该可以访问的情况 活动或申请。
您可以使用if (progressDialog != null && progressDialog.isShowing()) { }
声明public
而不是private
变量。 私人
public ProgressDialog progressDialog;