【发布时间】:2016-04-26 13:44:57
【问题描述】:
在我的应用程序中,有一个活动在后台一个接一个地执行两个 AsyncTask。
在这些 AsyncTasks onPreExecute 我有下面的代码(progressDialog 是私有的):
progressDialog=UI.getProgressDialog();
progressDialog.show();
UI 类是一个实现一些布局管理的类,在 getPregressDialog() 方法中,我显式创建 new ProgressDialog 并将新的 ProgressDialog 返回给调用者。
在 AsyncTasks 的 onPostExecute() 方法中,我有以下代码:
if(progressDialog.isShowing())
progressDialog.dismiss();
在执行第一个任务并关闭progressDialog 后,会出现第二个。但从不拒绝。似乎条件 isShowing() 返回 false(显然我可以看到进度对话框);
有什么建议吗?
【问题讨论】:
-
全局定义progressDialog并在第一个异步任务中使用progressDialog.show然后使用if(progressDialog.isShowing())progressDialog.dismiss();在第二个异步任务中......!
-
是的,它是类中的私有字段。
-
当您使用两次时,可能会因为来自服务器或异步任务中任何其他端的大量数据而导致延迟,但您可以使用一些不同的方法,例如。我在上面的评论中说过.....也将其公开...
标签: android android-asynctask progressdialog