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