私は今、この問題に何時間も取り組んできました。
私のシンプルなアプリは、Google マップをフラグメントで表示します。いくつかのアクションで、このマップの上にフラグメント オーバーレイが必要なため、onClickListener イベントを受信したら、次を実行しようとしています。
void addfragment() {
Fragment placeDetails = new PlaceDetailsFragment();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.details, placeDetails).commit();
}
http://developer.android.com/about/versions/android-4.2.html#NestedFragmentsの例に従って
次のクラスを自動インポートしました。
import android.app.Fragment;
import android.app.FragmentTransaction;
getChildFragmentManager を除くすべてのタイプとメソッドを解決できます。掘り下げた後、getChildFragmentManager は通常の Fragment lib の一部ではないと推測する必要がありましたが、サポート ライブラリ、特に v4 をインストールする必要がありました。そのため、v4 jar も含まれている v7 をインストールし、フラグメント クラスを再インポートしました。
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
GetChildFragmentManager はまだ解決できません。
手動で追加してみました
android.support.v4.app.FragmentManager をインポートします。
getChildFragmentManager は FragmentManager を返す必要があるフラグメントのメソッドですが、まだ解決されていません。
何か非常に間違ったことをしているように感じ、グーグルはあまり役に立ちません。彼らは v4.jar を ActionBarSherlock の lib ディレクトリに移動することについて話し続けていますが、このプロジェクトではそれを持っていませんし、必要もありません。後で通常のアクション バーを取得する可能性がありますが、ネストされたフラグメントになぜそれが必要なのかわかりません。
また、API 18 で minSDK バージョン 18 および targetSDK バージョン 18 にコンパイルしていますが、なぜサポート ライブラリが必要なのですか? これは 4.2 の機能であり、SDK 17 です。SDK 18 にもあるはずですよね?ドキュメントに記載されているように、サポート ライブラリの使用は下位の SDK のみに限定されませんか?
The Android Support Library also now supports nested fragments,
so you can implement nested fragment designs on Android 1.6 and higher.
私は何を間違っていますか?アイデアや解決策はありますか?私は何時間もそれに取り組んできました.今では2日以上、正気は一瞬です:)
前もって感謝します!