簡體   English   中英

按物理后退按鈕轉到上一個片段

[英]Go to previous fragment pressing physical back button

我創建了一個顯示gridview的片段,當單擊任何griditem時,它會導致另一個片段。 但是,當我按下物理后退按鈕時,應用程序關閉,而不是返回到先前的片段(即包含gridview的片段)。 我該如何解決?

試試這個

@Override
public void onBackPressed() {
    if (getFragmentManager().getBackStackEntryCount() > 0 ){
        getFragmentManager().popBackStack();
    } else {
        super.onBackPressed();
    }
}
    '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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM