根据一些文档,我可以在Activity或Fragment中使用Loader,但兼容包显示只有FragmentActivity具有getLoaderManager()方法。
由于旧的托管游标已被弃用,我们必须使用Cursor Loader。那么为什么这个数据管理功能应该与UI小部件的选择联系起来呢?这对我没用。
感谢 P上。
答案 0 :(得分:6)
由于旧的托管游标已被弃用,我们必须使用Cursor Loader。
不,托管游标仍然有效。通常,Android中的“弃用”意味着“我们会尽可能支持这种机制,但我们认为有更好的选择”。
那么为什么这个数据管理功能应该与UI小部件的选择相关联呢?
不是。您不必使用片段从FragmentActivity
继承。您也可以创建自己的LoaderManagerCapableActivity
,从FragmentActivity
克隆相关数据成员和方法(源代码在您的硬盘上)。但是,LoaderManager
已将与活动相关联,因为它与活动生命周期相关联,托管游标也是如此。例如,LoaderManager
个实例通过onRetainNonConfigurationInstance()
在活动之间传递。
答案 1 :(得分:1)
是的,为了获得loaderManager,它必须与一个活动相关联,但是可以使用加载器而不需要loaderManger。
1)实现AsynTaskLoader。
2)实例化你在课堂上实现的Loader。
3)为您的加载器注册一个监听器,以便在加载完成后获得回调。
4)调用loader的startLoading方法。
5)加载完成后,将调用回调方法,您可以将加载的数据用于任何目的。