gpt4 book ai didi

java - 在加载其他 Activity 时显示 ProgressDialog

转载 作者:搜寻专家 更新时间:2023-11-01 08:03:50 26 4
gpt4 key购买 nike

以前有人问过这个问题,但我找到的答案对我的情况没有用。

当用户按下 Activity 1 中的按钮时,Activity 2 将打开。 Activity 2 必须加载一些已存储在 SharedPreferences 中的数据。 Activity 2 必须在 onCreate() 中做很多事情,所以这就是打开它需要一点时间的原因(尤其是在速度较慢的设备上)。与我见过的其他情况不同,Activity 不必从互联网下载数据,所以使用 AsyncTask 不是我的选择,因为打开 Activity 需要很长时间的原因不是互联网,但原因是它必须加载 5 个 ListView ,并且必须进行大量计算才能正确处理数据。

那么在这种情况下,当 Activity 2 正在加载时,您如何显示 ProgressDialog?

最佳答案

So how do you display a ProgressDialog in this case, while Activity 2 is loading?

这不应该是您关心的问题,因为即使您显示 ProgressDialog 它也只会卡住,因为您将阻塞主 UI 线程,因为您的 Activity 将难以执行做它的东西。如果您知道布局创建/数据构建(或您在 onCreate() 方法中所做的任何事情)将花费一些时间,用户会注意到:

  • 让您的初始布局包含一个 ProgressBar 以向用户指示正在完成的工作
  • 启动一个线程/AsyncTask 来完成繁重的工作并退出 onCreate()
  • 当线程完成其工作时构建布局替换初始 ProgressBar

这样,您的 Activity 将从工作/加载指示器开始,并在可用时进行布局。也许您还可以改进一些东西(五个 ListViews 似乎有点奇怪)。

关于java - 在加载其他 Activity 时显示 ProgressDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17123720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com