【问题标题】:Go to previous fragment pressing physical back button按物理后退按钮转到上一个片段
【发布时间】:2017-05-25 05:00:29
【问题描述】:

我创建了一个显示网格视图的片段,当单击任何网格项时,它会导致另一个片段。但是当我按下物理后退按钮时,应用程序关闭而不是返回到上一个片段(即包含网格视图的片段)。我该如何解决这个问题?

【问题讨论】:

标签: android android-fragments android-gridview


【解决方案1】:

试试这个

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

【讨论】:

    【解决方案2】:
        '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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多