アクティビティ:
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
Fragment1 fragment = new Fragment1();
Fragment2 fragment2 = new Fragment2();
transaction.replace(R.id.Fragment1, fragment);
transaction.addToBackStack(null);
transaction.commit();
FragmentTransaction transaction2 = getSupportFragmentManager().beginTransaction();
transaction2.replace(R.id.Fragment1, fragment2);
transaction2.addToBackStack(null);
transaction2.commit();
ビューのコード:
<fragment
android:id="@+id/Fragment1"
android:name="com.landa.fragment.Fragment1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="@+id/include1" />
問題は、コンテンツが実際に置き換えられないことです。つまり、コンテンツが上に配置されます(そのため、コンテンツはオーバーラップします)。
クリックすると、最初のフラグメントは適切に(2番目のフラグメントなしで)表示されますが、最初は両方が表示されています(最後のフラグメントのみを表示したい)。
ここで何が欠けていますか?
containerViewId
(replace
メソッドで)正しい値を渡していないという事実によるものでした。