2017-05-25 14 views
0

グリッドビューを表示するフラグメントを作成しました。グリッドアイテムがクリックされると、別のフラグメントが表示されます。しかし、物理的なバックボタンを押すと、前のフラグメント(つまり、グリッドビューを含むフラグメント)に戻るのではなく、アプリケーションが終了します。これをどうすれば解決できますか?前のフラグメントに戻る物理的な戻るボタンを押す

+0

は(onBackPressedを実装する[方法のhttps://stackoverflow.com/questions/7992216/android-fragment-handle-back-button-press – sasikumar

+0

可能な複製を参照してくださいしてみてください)in Fragments?](https://stackoverflow.com/questions/5448653/how-to-implement-onbackpressed-in-fragments) – thepoosh

答えて

1

この1

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

ありがとうございました。出来た。 –

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); 
関連する問題