如何在ListActivity中获取LoaderManager

him*_*urb 1 android android-loadermanager

我正在使用兼容包来实现API级别<11的CursorLoader根据doc和这个答案以及这个精彩的教程,我已经导入了支持包并实现了LoaderManager.LoaderCallbacks,但接下来我必须调用:

getSupportLoaderManager()
Run Code Online (Sandbox Code Playgroud)

并且为此必须扩展FragmentActivity,然后从Activity Context调用,但我已经扩展了ListActivity,并且想要进行静态调用以获取LoaderManager,如下所示:

    FragmentActivity.getSupportLoaderManager()
Run Code Online (Sandbox Code Playgroud)

显然,这是一种让LoaderManager <11的方法,这就是文档所说的:

要管理片段和加载器,必须使用FragmentActivity.getSupportFragmentManager()和FragmentActivity.getSupportLoaderManager()方法(而不是getFragmentManager()和getLoaderManager()方法).

但它给出了这个编译时错误:

Cannot make a static call to a non-static method
Run Code Online (Sandbox Code Playgroud)

FragmentActivity的代码,getSupportLoaderManager()在这里不是静态的,这解释了错误,但为什么Doc显示静态调用...我现在很困惑......

请帮忙!

Com*_*are 11

Loader如果扩展,您只能使用Android兼容性库中的框架FragmentActivity.考虑将你转换ListActivity成a ListFragment和a FragmentActivity.