1

我问的原因是因为我想在我的主 Activity 启动的任何 AsyncTask 正在运行时在 ActionBar 中显示一个 ProgressDialog 抖动器。

我当前的解决方案(半有效)扩展了 AsyncTaskLoader。在该类中,我重写了 onForceLoad() 方法并将加载器的 Id 和类名添加到在我的应用程序中管理的 Map(键入加载器 Id);当加载器添加到地图时,我会在操作栏中显示加载 throbber。每当调用 LoaderCallback 的 onLoadFinished 时,我都会使用 Id 从 Map 中删除 Loader,并检查 Map 是否为空。如果地图是空的,我将停止显示 laoding throbber。

我面临的问题是,例如,如果 5 个加载器正在运行并且用户单击刷新再次重新启动所有 5 个加载器,则不会调用所有加载器的 onLoadFinished。这会导致加载 throbber 无限期地显示,因为 Map 永远不会变空。我认为这可能与限制加载程序的方式有关,但我不确定。

4

0 回答 0