gpt4 book ai didi

android - 以菊花链方式连接 Android Loader 是个坏主意吗?

转载 作者:行者123 更新时间:2023-11-29 22:01:35 25 4
gpt4 key购买 nike

我需要从 2 个在线来源获取数据,并希望在这样做时显示每个来源的进度。收集数据后,我可以填充 ListView 。

我当前的实现是 MyActivity 实现 LoaderCallbacks,后者又创建 MyDataLoader 的实例(一个扩展 AsyncTaskLoader 的类)。在 MyDataLoader 的 loadInBackground 方法中,它从所有来源获取数据并填充 Sqlite 数据库。然后可以在整个过程中使用此数据库。

问题是我没有就我们在流程中所处的位置向用户提供任何反馈。

所以我在考虑使用 getLoaderManager().initLoader 以某种方式菊花链式加载器来创建我的加载器,然后一次迭代加载器管理器中的加载器。当每个加载程序完成并返回到 onLoadFinished 时,我有机会设置 progressDialog 的文本以指示进度。

这是个坏主意吗?有没有更简单更好的方法?

最佳答案

这是不可能的,因为 Loader 会在不同线程的后台加载数据...数据不会“顺序”加载,因此不会在 onLoadFinished 中显示进度让您准确了解实际取得了多少进展。

所有用户需要知道的是数据正在后台加载。在我看来,即使启动整个对话框也有点矫枉过正,有点破坏用户体验。我想到的两个选择是:

  1. 在布局或操作栏中显示不确定的进度图标。

  2. 在布局的中心显示一个灰色的 TextView,上面写着 Loading...。当从 Web 检索数据并准备好在屏幕上显示时,TextView 最终被隐藏。多个 Google 制造的应用选择此选项,例如 Google Analytics。

关于android - 以菊花链方式连接 Android Loader 是个坏主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11787008/

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