14得票2回答
为什么在片段恢复后onLoadFinished会再次被调用?

我遇到了一个关于加载器的奇怪问题。目前我不确定这是我的代码bug还是我对加载器的理解有误。 应用程序 问题出现在会话中(类似于WhatsApp)。我使用基于AsyncTaskLoader示例实现的加载器,我正在使用支持库。 在OnCreate中,我启动一个加载器来检索缓存的消息。 当C...

13得票3回答
加载器将结果传递给了错误的片段

我有一个使用ActionBar标签的滑动选项卡活动,基于android开发者示例。 每个标签显示一个Fragment,每个Fragment(实际上是SherlockFragment)通过自定义AsyncTaskLoader加载不同类型的远程API请求。 问题在于,如果您点击一个标签以移动2...

13得票2回答
蜂窝状加载器能解决AsyncTask + UI更新的问题吗?

在Android中,后台执行某些任务并更新UI是非常难以正确实现的。这是因为其设计不佳。典型的例子是AsyncTask从Web获取数据并显示结果。有两个问题需要解决: AsyncTask引用了Activity(因为它需要更新UI)。屏幕方向改变后,Activity会重新启动。但是Async...

12得票2回答
除了过早调用cursor.close()之外,还有什么原因会导致StaleDataException?

我目前正在大量修改/重写一个Android应用程序,并且偶尔会看到以下类似的崩溃:调用了CursorAdapter方法,它调用AbstractWindowedCursor#checkPosition(),然后:02-20 15:03:18.180 E/AndroidRuntime(17143)...

11得票6回答
在Android中,相比于Asynctask,加载器的优势是什么?

相比AsyncTask,Loader有什么优点?另外,如何使Loader兼容使用Android Froyo系统的手机。 编辑: 主要问题在于我没有使用本地数据库(SqlLite)。而是使用开发服务器上的数据库。显然,我不能再使用CursorLoader了。AsyncTaskLoader没有...

10得票5回答
Android - onLoadFinished未被调用

我遇到了Loader的问题。 我有一个Activity,从本地数据库检索记录并显示列表。当Activity启动时,通过LoaderManager.initLoader()方法自动加载记录。 还有可能通过ActionBarSherlock中的刷新按钮手动刷新列表。但是,在完成添加记录到数据库...

9得票3回答
如何实现一个简单的AsyncTaskLoader?

在我最近的一个SO问题中,有人建议我使用Loader来解决问题。因此,我在尝试了解如何实现一个简单的AsyncTaskLoader。 以下是我的想法: public class Scraper extends AsyncTaskLoader<List<Event>>...

7得票1回答
加载器:onLoadFinished只被调用一次。

我有一个在activity中使用的加载器。我能够启动该加载器并调用onLoadFinished。当我更新数据并在加载器中调用onContentChanged时,我看到loadInBackground和deliverResult都被调用了。这似乎是尽头。我没有收到任何关于onLoadFinish...

7得票2回答
Android Fragment - 使用Activity的LoaderManager而不是Fragment的,这样做可以吗?

给定一个从数据库中使用加载器加载(大量)数据的片段。 问题: 我有一个分页适配器,当用户离开包含它的选项卡时销毁该片段,并在用户返回该选项卡时重新创建它。由于这种重建,每次都会创建一个新的加载器并加载数据。 问题: 为了避免每次创建片段时重新创建加载器,是否可以在片段的onActivi...

7得票2回答
在数据库更改后更新UI的方法

我正在开发一款应用程序,基于Google IO演示架构使用第一种方法。基本上,我有一个Service,由SQLite数据库支持的ContentProvider,并且我还使用 Loaders。 当我的数据库发生更改时,我需要一种更新UI的方式。例如,用户可能想将项目添加到购物篮中。在我将项目I...