Atividade:
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();
Código na visualização:
<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" />
O problema é que o conteúdo não é realmente substituído - ele é colocado por cima (de modo que se sobrepõe).
Quando clico de volta, o primeiro fragmento é mostrado corretamente (sem o segundo), mas inicialmente ambos estão visíveis (quero que apenas o último esteja visível).
O que estou perdendo aqui?
containerViewId
(noreplace
método).