最小SDKを14に設定して、APIレベル19に対してコンパイルするアプリでgetChildFragmentManager()
を使用しています。
getChildFragmentManager()
はAPI 17で導入されたため、APIレベル14、15、または16で実行されているデバイスは、メソッドが呼び出されたときにNoSuchMethodError
をスローします。
この問題に関する他のすべてのStackOverflow質問を調べましたが、どれもこの質問に答えていないようです。getChildFragmentManager()
メソッドをAPIレベル17より前のデバイスで動作させる方法はありますか?もしそうなら、どうですか?
このメソッドは、v4またはv13サポートライブラリのいずれにも含まれていないようです。私はv4とv13の両方のサポートライブラリでクリーンビルドを試しましたが、問題が解決しないようです。
aPIレベル17より前のデバイスでgetChildFragmentManager()メソッドを機能させる方法はありますか?もしそうなら、どうですか?
Androidサポートパッケージ(_Android-support-v4.jar
_、_Android.support.v4.app.Fragment
_))からのフラグメントのバックポートを使用します。
このメソッドは、v4またはv13サポートライブラリのいずれにも含まれていないようです。
はい、それはFragmentActivity
で、フラグメントバックポートを使用するために使用する必要があるActivity
基本クラスです。
これはバックポートのFragment
クラスにあり、そのフラグメントの子フラグメントを管理します。
私はv4とv13の両方のサポートライブラリでクリーンビルドを試しましたが、問題が解決しないようです。
に変更しなかったか FragmentActivity
Fragment
バックポート、またはサポートライブラリJARが古い。 これはサンプルプロジェクトです の使用方法を示します FragmentActivity
Fragment
バックポートとそのgetChildFragmentManager()
。
代わりにSupportFragmentManagerを試すことができます。
yourFragment = (YourFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.playListFragment)