Ich habe 3 Fragmente nämlich (FragmentA, FragmentB, FragmentC) und eine MainActivity erstellt. In jedem Fragment befindet sich eine Schaltfläche, die sich durch das nächste Fragment bis FragmentC ersetzt.Fragmente werden auf der Schaltfläche zurück überlappen
Ich ersetze FragmentA (mit) FragmentB (dann mit) FragmentC.
Transaktion von fragmenta bis FragmentB verwendet unterhalb Funktion
@Override
public void fragmentreplacewithbackstack(Fragment fragment, String tag) {
FragmentManager fragmentManager=getSupportFragmentManager();
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.contner,fragment , tag);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
// fragmentManager.executePendingTransactions();
}
Transaktion von FragmentB zu FragmentC unten Funktion verwendet
public void fragmentreplace(Fragment fragment,String tag){
FragmentManager fragmentManager=getSupportFragmentManager();
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.contner,fragment , tag);
fragmentTransaction.commit();
}
Problem ist, wenn i-Taste zurück von FragmentC, FragmentC und fragmenta überlappen andere.
ich will nicht FragmentB in stack.I meine Transaktion fragmenta direkt gehen wollen, von FragmentC backpress mit – rajahsekar
Dann fügen Sie nicht Fragment B zum hinteren Stapel. Füge C zum Backstack hinzu, so dass du beim Zurückdrücken vom Backstack entfernt wirst und zu A gehst, da B nicht im Bild ist. –
wie FragmentC zum Backstack hinzuzufügen. – rajahsekar