android - CursorAdapter 和 FLAG_REGISTER_CONTENT_OBSERVER

标签 android android-cursoradapter android-loadermanager android-cursorloader

在我的 ListView Activity 中,使用 LoaderManager 来管理光标,还有一个自定义 CursorAdapter

mAdapter = new CustomCursorAdapter(getActivity(), null,CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
setListAdapter(mAdapter);

在注册适配器时,会传递一个由 LoaderManager 管理的空游标

getLoaderManager().initLoader(3, null, this);

现在需要为这个 CustomCursorAdapter 实现 SectionIndexer。我的问题是,在 CustomCursorAdapter 构造函数中,游标最初将为 null,我如何知道何时准备好游标。

有一个

getCursor();

可用于在 CursorAdapter 中获取光标的方法,但我确定在哪个回调方法中 LoaderManager 已完成加载带有数据的 Cursor 已准备好进行操作

谢谢

最佳答案

In which callback method do I know for sure that LoaderManager has finished loading the Cursor with data that is ready to be manipulated?

LoaderManager不会“加载”任何东西……相反,它指示 Loader查询数据源(我假设在本例中为 ContentProvider)。 CursorLoader然后通知 LoaderManager当它的加载完成并且 Cursor已经被创造了。最后,LoaderManager调用回调的 onLoadFinished()方法(您很可能已在 Activity 中实现)与加载的数据。

此外,您不需要使用 CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVERLoaderManager ... Loader注册 ContentObserver自己,所以为 CursorAdapter 注册一个既无用又浪费。

关于android - CursorAdapter 和 FLAG_REGISTER_CONTENT_OBSERVER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7883969/

相关文章:

更改光标后Android ListView不刷新

Android:过滤 SimpleCursorAdapter ListView

android - CursorAdapter 没有填充 SearchView 的建议

android - 带有扩展 SimpleCursorAdapter 的 nullPointerException

android - onLoadFinished 在返回之前不会在屏幕外 fragment 上调用

android - 在 web-view react-native 上禁用缩放?

android - 创建文件和所有父目录

java - SharedPreferences 值未更新

安卓:Proguard NoSuchMethodError