问题标签 [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.
android - 光标未使用自定义适配器正确绑定文本
SimpleCursorAdapter
为 my扩展的自定义适配器ListFragment
无法正确显示数据库中的项目。它不会在 TextView 中显示文本,我还需要对光标做什么才能显示正确的文本?
我以为我必须覆盖bindView
但没有效果
设置适配器:
适配器:
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 永远不会变空。我认为这可能与限制加载程序的方式有关,但我不确定。
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,即使所有加载程序都已完成。
非常感谢您的任何建议或为我指明一些不错的样品的方向。
塔马丁。
android - 何时调用 LoaderCallbacks.onLoadFinished() 的规则是什么?
是否有关于何时LoaderCallbacks.onLoadFinished()
将调用与提供的生命周期相关的Activity
规则LoaderManager
?
我从 Android 文档中知道onLoadFinished()
可能在Activity
保存状态后调用(即可能早在Activity
暂停时),但我想知道框架何时可能会或可能不会调用它。
提前致谢。
android - 使用 LoaderManager 的多个加载器的模式?
我正在使用 Fragments 和 LoaderManager。我必须启动未知数量的任务,它们可能会并行运行(否则我只会重用一个且只有一个加载器)。例如,我有一个列表视图,每一行都可能有一个按钮来将该行的内容保存到网络服务器。用户可以对多个项目并行发起保存请求。
我可以尝试自己记账,所以手动创建一个加载器池并在可能的情况下重用它们,看起来它可能已经由 API 实现了?
谢谢
android - LoaderManager.LoaderCallbacks在安卓 2.1
我是 Android 应用程序开发的新手。我正在阅读ToDo教程。本文基于android SDK 3.0及以上版本,但我使用的是sdk 2.1,不包含'LoaderManager'类。我想知道 2.1 sdk 中该类是否有任何替代方案?真的需要吗?
问候。
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 的值感到困惑:
android - Loader和LoaderManager——如何判断是否有错误加载
我想我了解加载器应该如何工作等,但我不太确定加载器如何向 LoaderManager 或应用程序发出信号,表明它没有成功完成。做这个的最好方式是什么?
android - Loader 和 LoaderManager - 如何确定当前的 Loader 是否处于活动状态并正在运行?
如何查询 LoaderManager 以查看 Loader 当前是否正在运行?
android - 写入由 LoaderManager 管理的数据
使用 LoaderManager 时,我是否仍以过去的方式管理数据库写入并让 Loader 接收更改?我正在为应用程序转换和添加功能,但我仍在习惯 Android 平台。