Ich bin neu in Android-Entwicklung und Entwicklung einer Anwendung mit Android Standard-Navigation-Schublade-Layout.Zurück zum vorherigen Fragment auf OnBackPressed in Android
Ich verwende Fragment in der Anwendung.
Ich möchte zurück zum vorherigen Fragment, wenn die Zurück-Taste auf das nächste Fragment gedrückt wird. Die onBackPress muss
- folgende Funktionen implementieren, um vorherige Fragment Holen Sie sich zurück, wenn auf der nächsten Fragment
- Schublade schließen, wenn Navigationsleiste geöffnet ist
- Beenden App auf Doppel zurück drücken, wenn in fragment1
Dies ist, was mein Code ist in MainActivity beim Erstellen neuer Fragment
// replacing the fragment
if (fragment != null) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.commit();
}
onBackPress
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else if (getFragmentManager().getBackStackEntryCount() > 0) {
FragmentManager fm = getSupportFragmentManager();
fm.popBackStack();
} else {
super.onBackPressed();
}
}
Aber das funktioniert nicht und beim Drücken beendet zurück, um die Anwendung der Ausnahme, wenn die Navigationsleiste geöffnet ist es geschlossen ist.
hinzufügen '.addToBackStack (null);' funktioniert nicht.Nach dem Hinzufügen dieser Zeile passiert beim ersten Drücken der Taste Zurück nichts und bei einem zweiten Klick wird die Anwendung beendet –