Ich implementiere BottomNavigationView
für die Navigation in einer Android App. Ich verwende Fragmente, um den Inhalt für jede Registerkarte festzulegen.Getrennter Backstack für jede Registerkarte in BottomNavigationView Android mit Fragmenten
Ich weiß, wie Sie ein Fragment für jede Registerkarte einrichten und dann Fragmente wechseln, wenn auf eine Registerkarte geklickt wird. Aber wie kann ich einen separaten Backstack für jede Registerkarte haben? Hier ist der Code ein Fragment einzurichten:
Fragment selectedFragment = ItemsFragment.newInstance();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.content, selectedFragment);
transaction.commit();
Ein Beispiel Fragment
A und B würde 1 und Fragment
C und D unter Tab 2. Unter Tab werden, wenn die APP-Fragment A gestartet wird angezeigt und Tab 1 ist ausgewählt. Dann kann A durch Fragment B ersetzt werden. Wenn Tab 2 ausgewählt ist, sollte Fragment C angezeigt werden. Wenn Tab 1 dann ausgewählt wird, sollte Fragment
B noch einmal angezeigt werden. An diesem Punkt sollte es möglich sein, die Zurück-Taste verwendet Fragment A.
zu zeigen, und hier ist der Code zum Einrichten nächste fragment
in derselben Registerkarte: Methode
Fragment selectedFragment = ItemsFragment.newInstance();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content, selectedFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
Unfortunatelly, werden Sie diese Art von Schnitt Backstack Verhalten implementieren müssen, um sich selbst ... glaube ich zumindest so. – Shark
Hast du es schon mal gemacht? –
Nein, meine Kunden wollten solch gebrochenes UX noch nie, aber ich habe eine Idee. Etwas zwischen dem aktuellen Backstack und der https: //en.wikipedia.org/wiki/Command_pattern Halten Sie eine 'HashMap' und fügen Sie sie dem gewünschten Backstack hinzu. Erfordert Modifikationen der 'onBackPressed()' und vielleicht/wahrscheinlich nicht 'addToBackstack()' though. –
Shark