Beim Zurückdrücken wird nicht zum vorherigen Fragment zurückgekehrt

8

Ich habe ein Problem beim Hinzufügen der Fragmenttransaktionen zum Backstack. Ich habe eine Hauptaktivität, in der ich mein Layout mit einem Menüfragment bevölkere:

%Vor%

}

Anschließend wählt der Benutzer im MainMenuFragment eine Option aus, die dazu führt, dass das Menüfragment durch ein anderes Fragment ersetzt wird:

%Vor%

}

Was ich verstehe, sollte es so machen, dass, wenn der Benutzer die Taste auf seinem Gerät drückt, sie zurück zum Menüfragment gebracht werden, aber stattdessen wird die App beendet. Was mache ich falsch?

    
jammaster 25.09.2014, 20:58
quelle

4 Antworten

2

Ihr Code ist eine Verwechslung, Sie verwenden ActionBarActivity von appcompat und nicht getSupportFragmentManager () und der Fragment-Import sollte der appcompat-Code sein, wenn Sie ihn verwenden möchten. Wenn nicht, verwenden Sie Activity anstelle von ActionBarActivity und den einfachen Fragment Import mit FragmentManager

Fügen Sie dies Ihrer Aktivität hinzu android:configChanges="keyboardHidden|orientation|screenSize" Dadurch wird Ihre Aktivität beim Rotieren nicht neu gestartet. Verwende setRetainInstance(true) auf Fragmenten.

    
Georgian Benetatos 25.09.2014, 22:46
quelle
5

Überschreiben Sie in Ihrer Aktivität :

%Vor%

Und wahrscheinlich müssen Sie in jeder committed Fragment-Transaktion verwenden:

%Vor%     
Adam Styrc 15.01.2015 12:15
quelle
1

Sie fügen das MainMenuFragment nicht dem Backstack hinzu. Sie können dies bei Ihrer Aktivität versuchen:

%Vor%     
S M Anagh 26.09.2014 04:59
quelle
0

Wenn Sie ein Fragment mit FragmentManager hinzufügen oder ersetzen, müssen Sie das alte Fragment vor dem Aufruf von addToBackStack() manuell zum Backstack mit commit() hinzufügen.

    
Code-Apprentice 25.09.2014 22:50
quelle