我必须使用Fragments来获取LoaderManager吗?

pie*_*oir 7 android android-loadermanager

根据一些文档,我可以在Activity或Fragment中使用Loader,但兼容包显示只有FragmentActivity具有getLoaderManager()方法.

由于旧的托管游标已被弃用,我们必须使用Cursor Loader.那么为什么这个数据管理功能应该与UI小部件的选择联系起来呢?对我来说完全是无稽之谈.

谢谢P.

Com*_*are 6

由于旧的托管游标已被弃用,我们必须使用Cursor Loader.

不,托管游标仍然有效.通常,Android中的"弃用"意味着"只要我们能够支持这种机制,但我们认为有更好的选择".

那么为什么这个数据管理功能应该与UI小部件的选择联系起来呢?

不是.您不必使用片段来继承FragmentActivity.您也可以创建自己的LoaderManagerCapableActivity,从中克隆相关数据成员和方法FragmentActivity(源代码在您的硬盘上).但是,LoaderManager 必须与活动相关联,因为它与活动生命周期相关联,托管游标也是如此.例如,LoaderManager实例通过活动之间传递onRetainNonConfigurationInstance().