android - 数据更改后 CursorLoader 不更新

标签 android android-contentprovider android-cursorloader android-loadermanager

我创建了一个小应用程序,试图了解 LoaderManager 的功能。和 CursorLoader -类。

我已经实现了LoaderCallbacks<Cursor>在我的FragmentActivity -class,一切正常,除了当我通过 ContentResolver.update() 更新数据时或 ContentResolver.insert() -方法,onLoadFinished()没有被调用,因此我的数据没有更新。

我有一个自定义 ContentProvider,我想知道问题是否出在我的 ContentProvider 上,没有通知数据已更改或其他原因。

最佳答案

您是否调用 setNotificationUri(ContentResolver cr, Uri uri)Cursor在返回之前 ContentProvider.query() ?

您是否调用 getContext().getContentResolver().notifyChange(uri, null)在您的 ContentProvider 的“插入”方法中?

编辑:

获取 ContentResolver调用getContext().getContentResolver()在您的ContentProvider .

关于android - 数据更改后 CursorLoader 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7915050/

相关文章:

安卓 2.3 : HttpClient SSL certificate problem: Intermediate certificate lacks BasicConstraints

java - 在 Android 中检索 View 的 XML 属性

android - CursorLoader - 两个表连接查询?

android - 将 Realm 对象转换为 Parcelable 时出错

android - Android中从Uri获取文件名

android - 在 ContentProvider 中使用 rawQuery 是一种好习惯吗?

android - UriMatcher 匹配 'n' 路径段

android - 使用 SimpleCursorAdapter 的 onLoaderFinished 中的 NullPointerException

android - 从 onLoadFinished() 中的游标填充小部件

java - glDrawElements() 会导致 Lollipop 崩溃,但在 KitKat 上正常