2016-06-01 9 views
0

Ich habe 2 Aktivitäten in meiner Anwendung:Wie geht man mit einem Klick auf die Zurück-Taste des Telefons zu einem vorherigen Fragment?

1.Launch_activity, die einige Details zeigt

2. Home_activity, die sagen, mehrere Fragmente enthalten A1, A2, A3 als Karten aufgelistet

Meine Frage ist, : Wie zu einem vorherigen Fragment zurückzukehren. Beispiel: Wenn ich in Fragment A2 bin, wenn ich zurückdrücke, sollte es zu A1 zurückkehren und wenn ich von A1 zurückdrücke, sollte es zu Home_activity gehen, wo alle meine Fragmente als Karten gezeigt werden. Momentan geht es direkt zur Launch_activity, wenn ich die Zurück-Taste drücke. Da ich neu hier bin, könntest du mir bitte erklären, wie ich das lösen kann?

+0

Wenn Sie Ihre Fragmente ändern, fügen Sie einfach die 'addToBackStack (String)' – NSimon

+0

@NicolasSimon Was meinst du mit ‚Wenn Sie Ihre Fragmente ändern‘? Kannst du mir bitte erklären, dass ich ein Anfänger bin? Danke :) –

+0

Siehe @Masum Antwort unten. Er ändert Fragmente (wie Sie es wahrscheinlich tun) mit beginTransaction(). Er fügt dann den 'addToBackStack' Aufruf hinzu, so dass das System" dieses Fragment herausspringt ", wenn der Benutzer auf die Zurück-Schaltfläche klickt – NSimon

Antwort

1

Ihr Alles-Fragment-Commit mit der Methode add() anstelle der Methode replace(). So etwas wie dieses

android.app.Fragment fragment = new YourFragment(); 
FragmentManager frgManager = getFragmentManager(); 
android.app.FragmentTransaction ft = frgManager.beginTransaction(); 
ft.addToBackStack(null); 
ft.add(R.id.content_frame, fragment); 
ft.commit(); 
+1

Danke. Es hat das Problem gelöst. Aber es funktioniert nicht für die Navigationsleiste. Wenn ich zurückklicke, wenn ich in der Navigationsleiste bin Geht es zurück zur Launch_activity. –

Verwandte Themen