问题标签 [android-loadermanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1322 浏览

android - 光标未使用自定义适配器正确绑定文本

SimpleCursorAdapter为 my扩展的自定义适配器ListFragment无法正确显示数据库中的项目。它不会在 TextView 中显示文本,我还需要对光标做什么才能显示正确的文本?

我以为我必须覆盖bindView但没有效果

设置适配器:

适配器:

0 投票
0 回答
1290 浏览

android - 是否可以查明 LoaderManager 是否已完成所有 AsyncTaskLoaders 的加载?

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

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

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

0 投票
2 回答
2303 浏览

android - Android FragmentPagerAdapter 与 LoaderManager

我有一个带有 ViewPager 和 FragmentPagerAdapter 的 FragmentActivity。

ViewPager 中的每个片段都需要从 Web 服务加载数据。我已经编写了 LoaderManager/custom Loaders 来执行 web 服务调用、解析 XML 等,这些都工作正常。

管理加载和片段有两种可能的设计。

1) 代表片段管理加载的主要活动。

片段调用主 FragmentActivity 请求它的数据。该活动检查该数据的加载器是否已经在运行,如果没有,它会创建一个并执行加载。

在这种情况下,我如何告诉片段数据已加载并准备好进行绘制。我使用的是自定义加载器而不是简单游标,因此片段将从对象实例填充其文本视图等,因此必须在填充对象时告知它。

当您在 getItem 中实例化片段时,FragmentPagerAdapter 似乎不允许您将标签或 Id 分配给片段。如何从 FragmentActivity 中找到片段并告诉它绘制数据?

2)每个片段管理自己的加载。

片段初始化自己的加载器,每个片段都有自己的 onCreateLoader/onLoaderFinish 等。

我在这里遇到的问题是,如果在加载程序运行片段时用户页面离开该页面似乎被破坏(有时)。因此,onLoaderFinished 没有被调用,并且片段无法告诉主要活动它已完成 - 主要活动正在控制操作栏中的进度指示器 (setProgressBarIndeterminateVisibility)。

那么,当您有一个 FragmentPagerAdapter、一个包含多个需要自己的加载器的页面的 ViewPager 时,最好的设计模式是什么?

我遇到的另一个问题是使用 getSupportLoaderManager 来检查是否有任何加载器正在运行。我从 onLoadFinished 中调用它。如果没有加载程序运行,我可以隐藏进度指示器。然而,hasRunningLoaders 有时会返回 true,即使所有加载程序都已完成。

非常感谢您的任何建议或为我指明一些不错的样品的方向。

塔马丁。

0 投票
1 回答
743 浏览

android - 何时调用 LoaderCallbacks.onLoadFinished() 的规则是什么?

是否有关于何时LoaderCallbacks.onLoadFinished()将调用与提供的生命周期相关的Activity规则LoaderManager

我从 Android 文档中知道onLoadFinished()可能在Activity保存状态后调用(即可能早在Activity暂停时),但我想知道框架何时可能会或可能不会调用它。

提前致谢。

0 投票
3 回答
1846 浏览

android - 使用 LoaderManager 的多个加载器的模式?

我正在使用 Fragments 和 LoaderManager。我必须启动未知数量的任务,它们可能会并行运行(否则我只会重用一个且只有一个加载器)。例如,我有一个列表视图,每一行都可能有一个按钮来将该行的内容保存到网络服务器。用户可以对多个项目并行发起保存请求。

我可以尝试自己记账,所以手动创建一个加载器池并在可能的情况下重用它们,看起来它可能已经由 API 实现了?

谢谢

0 投票
1 回答
1457 浏览

android - LoaderManager.LoaderCallbacks在安卓 2.1

我是 Android 应用程序开发的新手。我正在阅读ToDo教程。本文基于android SDK 3.0及以上版本,但我使用的是sdk 2.1,不包含'LoaderManager'类。我想知道 2.1 sdk 中该类是否有任何替代方案?真的需要吗?

问候。

0 投票
1 回答
4937 浏览

java - Android LoaderManager 和 CursorLoader 混淆

我正在尝试将我的 Android 应用程序转换为使用 LoaderManager 和 CursorLoader。基本上,我有一个包含 ADDRESS 列和 DISTANCE 列的 SQLite 数据库,我想将列值加载到我的 ListView 行中。

现在,我做了很多研究,一切都指向本教程:http: //mobile.tutsplus.com/tutorials/android/android-sdk_content-providers/

这是一个很好的教程,但有几件事我仍然不明白。主要是,如何构造传递给“new CursorLoader()”的内容 URI?我没有使用来自设备联系人等的任何外部数据。

请在下面查看我的代码。我对如何生成 BASE_URI 的值感到困惑:

0 投票
1 回答
172 浏览

android - Loader和LoaderManager——如何判断是否有错误加载

我想我了解加载器应该如何工作等,但我不太确定加载器如何向 LoaderManager 或应用程序发出信号,表明它没有成功完成。做这个的最好方式是什么?

0 投票
3 回答
4185 浏览

android - Loader 和 LoaderManager - 如何确定当前的 Loader 是否处于活动状态并正在运行?

如何查询 LoaderManager 以查看 Loader 当前是否正在运行?

0 投票
1 回答
585 浏览

android - 写入由 LoaderManager 管理的数据

使用 LoaderManager 时,我是否仍以过去的方式管理数据库写入并让 Loader 接收更改?我正在为应用程序转换和添加功能,但我仍在习惯 Android 平台。