1

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

getSupportLoaderManager()

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

    FragmentActivity.getSupportLoaderManager()

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

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

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

Cannot make a static call to a non-static method

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

请帮忙!

4

1 回答 1

11

如果您Loader扩展了FragmentActivity. 考虑将您的转换ListActivity为 aListFragment和 a FragmentActivity

于 2011-10-20T12:59:16.623 回答