Meine Anforderung ist ziemlich einfach: Ich habe eine Schaltfläche, die ein FragmentA durch FragmentB ersetzen sollte.FragmentTransaction.remove hat keine Wirkung
Das klingt einfach und fast funktioniert, das große Problem ist, dass das alte Fragment nicht entfernt wird und das neue auf der Vorderseite des alten platziert und sie "leben" zusammen in meinem Layout.
Der Code:
FragmentManager fragMgr = a.getSupportFragmentManager();
Fragment currentFragment = (Fragment) fragMgr.findFragmentById(R.id.fragmentitself);
if(currentFragment!=null){
FragmentTransaction fragTrans = fragMgr.beginTransaction();
fragTrans.remove(currentFragment);
FragmentB newFragment = new FragmentB();
fragTrans.replace(R.id.fragmentcontainer, newFragment);
// I have also tried with R.id.fragmentitself
fragTrans.addToBackStack(null);
fragTrans.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
fragTrans.commit();
}
Das Layout:
<FrameLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:id="@+id/fragmentcontainer">
<fragment
android:id="@+id/fragmentitself"
android:name="com.WazaBe.MyApp.FragmentA"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
Arbeiten! Vielen Dank. –