android - Android Honeycomb 中的加载程序

标签 android android-3.0-honeycomb android-loadermanager android-loader

我试图弄清楚如何在 Android 3.0 中使用 Loaders 但似乎无法让它工作。文档仅描述了使用 CursorLoader 但我使用的是 AsyncTaskLoader

从文档看来,您应该只需要实现 AsyncTaskLoader.loadInBackground() 但它永远不会在 getLoaderManager().initLoader() 之后被调用,然后创建回调中的加载器。

我可以看到调试消息说 Created new loader LoaderInfo{4040a828 #0 : ArticleDataLoader{4036b350}} 所以看起来它创建成功了。

是否有可能加载器当前在 SDK 中损坏,或者在创建加载器后需要调用某些方法? (他们在 CursorLoader 示例中没有这样做)。

编辑:似乎在从 initLoader() 返回的加载器上调用 forceLoad() 至少会开始加载,但这意味着您无法正确处理旋转:(

最佳答案

Dianne Hackborn 在 bug tracker 上回复了我们,并推荐我们引用静态库实现。 CursorLoader 正在执行 forceLoad() 这就是它工作的原因。

请参阅我附加的类(class),以了解在错误跟踪器的大多数简单情况下为您处理此问题的类(class):http://code.google.com/p/android/issues/detail?id=14944

关于android - Android Honeycomb 中的加载程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4920930/

相关文章:

android-3.0-honeycomb - 我应该分别为平板电脑和手机制作应用程序吗?

android - TextView setScaleX()/setScaleY() 和 setTextIsSelectable(true) 选择

android - 来自 ContentProvider 的 SimpleCursorAdapter 中的 IllegalStateException "attempt to re-open an already-closed object"

android - Android Market 的 no-alpha "Hi Resolution Application Icon"使用哪种背景颜色

java - 在 Android 中的蓝牙连接期间抛出的连接未创建(失败或中止)异常

Android 3.x/HLS 如何在流结束时开始

Android : getSupportLoaderManager(). getLoader(id) 不返回以前使用的加载程序

android - ListActivity 中的 getLoaderManager

android - 深色背景下难以阅读的推送通知

android - 当应用程序进程被杀死时如何阻止android恢复状态?