我创建了一个小应用程序,试图了解LoaderManager
和CursorLoader
类的功能。
我已在我的LoaderCallbacks<Cursor>
课程中实施了FragmentActivity
,一切正常,但我通过ContentResolver.update()
或ContentResolver.insert()
- 方法更新数据的事实除外{ {1}}未被调用,因此我的数据不会更新。
我有一个自定义的ContentProvider,我想知道问题出在我的ContentProvider中,而不是通知数据已更改或其他内容。
答案 0 :(得分:104)
在setNotificationUri(ContentResolver cr, Uri uri)
返回Cursor
之前,您是否已ContentProvider.query()
致电{1}}?
您是否在getContext().getContentResolver().notifyChange(uri, null)
的'insert'方法中致电ContentProvider
了?
编辑:
要在ContentResolver
中获得getContext().getContentResolver()
来电ContentProvider
。
答案 1 :(得分:4)
另外检查你是否调用了某个cursor.close(),因为在这种情况下你取消注册由CursorLoader注册的内容观察者。并且光标关闭由CursorLoader管理。