2017-05-25 3 views
0

Ich habe ein Fragment erstellt, das Gridview zeigt und wenn ein Rasterelement angeklickt wird, wird es zu einem anderen Fragment geleuchtet. Aber wenn ich den physischen Backbutton drücke, wird die App geschlossen, anstatt zum vorherigen Fragment zurückzukehren (d. H. Fragment mit Gridview). Wie kann ich das lösen?Gehe zum vorherigen Fragment drücke physische Zurück-Taste

+0

https://stackoverflow.com/questions/7992216/android-fragment-handle-back-button-press siehe – sasikumar

+0

Mögliche Duplikat von [Wie implementieren onBackPressed () in Fragmente?] (https://stackoverflow.com/questions/5448653/how-to-implement-onbackpressed-in-fragments) – thepoosh

Antwort

1

versuchen dieses

@Override 
public void onBackPressed() { 
    if (getFragmentManager().getBackStackEntryCount() > 0){ 
     getFragmentManager().popBackStack(); 
    } else { 
     super.onBackPressed(); 
    } 
} 
+0

danke. es funktionierte. –

0
'addToBackStack' is used for moving back to previous fragment, you can use a common Function 

    in your Main activity for changing fragment. 




public void change_fragment(Fragment fragment, int frame) { 


    FragmentManager manager = getSupportFragmentManager(); 
    FragmentTransaction trans = manager.beginTransaction(); 
    //trans.setCustomAnimations(R.anim.enterfrom_left, R.anim.exit_to_right,R.anim.enterfrom_left, R.anim.exit_to_right); 
    trans.replace(frame, fragment); 
    trans.addToBackStack("hai" + frame); 
    trans.commit(); 


    } 



    you can call it from Main activity like this 

    change_fragment(new Frag(),R.id.fl_main_frag_container); 



    you can call it from another fragment like this 

    ((MainActivity)getContext()).change_fragment(new Frag(), R.id.fl_main_frag_container); 
Verwandte Themen