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() はここでは静的ではありません。これによりエラーが説明されますが、ドキュメントに静的呼び出しが表示されるのはなぜですか...私は今混乱しています...

助けてください!

4

1 に答える 1

11

Loaderを拡張する場合は、Android 互換性ライブラリのフレームワークのみを使用できますFragmentActivityListActivityを と に変換することを検討してListFragmentくださいFragmentActivity

于 2011-10-20T12:59:16.623 に答える