【问题标题】:Is showing a progress dialog twice in an activity problematic?在活动中显示两次进度对话框是否有问题?
【发布时间】: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


【解决方案1】:

公开的变量意味着任何类都可以访问它。它是 当您的整个人都可以访问该变量时很有用 活动或应用程序。

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

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

公共进度对话框进度对话框;

【讨论】:

  • 请告诉我。
  • @Sepinood 继续前进。快乐的编码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多