Rückseite von fragment-Aktivität onBackPressed
Meine Frage ist, habe ich eine Aktivität und ein fragment,von der Tätigkeit öffnen, das fragment aber wenn ich gepresst zurück-button beendet das Programm.
ich versuche mit diesem code.
für open-fragment.
case R.id.button_contact:
Fragment fragment = new FragmentContact();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.frame_container,fragment).addToBackStack("Frag1").commit();
break;
für die zurück-Taste.
@Override
public void onBackPressed() {
getSupportFragmentManager().popBackStackImmediate("Frag1",0);
super.onBackPressed();
}
- kommentieren Sie
super.onBackPressed();
- entfernen getSupportFragmentManager().popBackStackImmediate("Frag1",0); besser sein wird , weil Sie bereits Hinzugefügt haben, das fragment zum backstack und es wird automatisch ausgestoßen vom backstack, wenn die Zurücktaste gedrückt wird
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nehme an, Sie wollen einfach nur zu entfernen, das fragment und die Aktivität bleiben?
In diesem Fall ändern Sie Ihre Methode onBackPressed werden
Diese entfernen das fragment aus der Tätigkeit, wenn es Hinzugefügt wird und wenn nicht, dann die zurück-Taste wird als normal und zerstören der Aktivität.
Einfach entfernen Sie diese Zeile aus onBackPressed().
Seine Arbeit.
Können Sie so etwas tun. Es wird die Arbeit mit Ihrem stack:
Dieses Stück code wird pop-Stapel, wenn es irgendein fragment. Andernfalls ist die Schaltfläche zurück schließen Sie die Aktivität
Was diese beiden Zeilen machen:
so müssen Sie entfernen super.onbackpress () - Methode.