2016-09-21 11 views
-1

Ich bin immer noch ein neuer App-Entwickler und probiere meine erste App aus.Von Fragment zu Fragment mit Zurück-Taste

Ich habe eine App, die eine Hauptaktivität mit drei Menüschaltflächen hat und eine Schaltfläche führt zu einem Fragment und in diesem Fragment gibt es eine andere Schaltfläche, die ein anderes Fragment erstellt und zeigt. So ist das also Aktivität -> Fragment1 -> Fragment2 Ich versuche, von Fragment2 zu Fragment 1 mit Zurück-Taste zu navigieren. Ich habe getActivity(). OnBackPressed() verwendet. Das Problem ist, dass, wenn es nur zu Fragment 1 zurückgehen sollte, es springt nur den ganzen Weg zurück zu Aktivität.

Welche Methode muss ich überschreiben oder nur verwenden, um von F2 nach F1 zu navigieren?

Vielen Dank im Voraus.

Antwort

0

Wenn Sie ein Fragment hinzufügen, fügen Sie es auch zu backStack hinzu. Dies ermöglicht Ihnen, bereits hinzugefügte Fragmente zu spielen, wie Sie sie dann in onBackPressed behandeln können.

@Override 
public void onBackPressed() { 
    FragmentManager fragmentManager = getSupportFragmentManager(); 

if (fragmentManager.getBackStackEntryCount() < 1){ 
    Fragment fragment = new XXXFragment(); 
    FragmentTransaction fragmentTransaction =  
    getSupportFragmentManager().beginTransaction(); 

    getSupportActionBar().setTitle(mDrawerTitle); 

    fragmentTransaction.replace(R.id.frame_container, 
    fragment).addToBackStack("first").commit(); 

}else{ 
    finish(); 
} 
} 
Verwandte Themen