Ich habe ein Activity
mit drei Fragmente lässt sie A, rufen B und C. Fragment
Ein wird in der Aktivität onCreate()
aufgerufen.Prevent The Same Fragment Mehr von Stapeln als einmal (addToBackStack)
FragmentA fragA = new FragmentA();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.activity2_layout, fragA, "A");
transaction.commit();
und wird mit Fragment B oder C ersetzt, wenn bestimmte Tasten gedrückt werden, und die FragmentTransaction ruft addToBackStack()
.
FragmentB fragB = new FragmentB(); //or C
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.activity2_layout, fragB, "B"); //or C
transaction.addToBackStack("B"); //or C
transaction.commit();
Aber sagen wir mal ich Fragment
B dreimal in einer Reihe nennen, wie kann ich es von Stapeln auf, um es selbst zu verhindern? Und zur gleichen Zeit möchte ich dies möglich: B genannt>C genannt>B genannt - aber wenn ich versuche ich will zurück B nur einmal geöffnet werden (C < B) anstelle von (B < C < B). Also im Grunde genommen den ersten backStack mit dem neuen entfernen.
Dies ist die bessere Antwort, da es beide Fragen beantwortet :) –