我正在做一个项目,我需要能够使用每个片段中的后退按钮在以前的片段之间导航,我有通过在操作栏中使用后退箭头编写的方法,但是,我希望能够在按下的后退按钮上使用相同的功能。我不想使用后台堆栈。有没有办法做到这一点?
编辑
我希望能够在用户单击后退按钮时调用下面的返回上一个方法,而不是使用后退堆栈。我需要在片段中使用 gobackpressed 方法。这可能吗?我希望这是清晰和简洁的。对于上述造成的任何混淆,我们深表歉意。
返回上一个
public void gobackToPreviousFragment(String preFragmentTag, Fragment preFragment){
    FragmentManager  fm = getSupportFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    ft.setCustomAnimations(R.animator.close_slide_in,R.animator.close_slide_out);
    ft.show(preFragment);
    //**BY REMOVING FRAGMENT, WHEN USER TRIES TO REVISIT, FRAGMENT IS BLACK**
    ft.remove(fm.findFragmentByTag(Misc.currentContentFragmentTag));
    ft.addToBackStack(null);
    ft.commit();
    Misc.currentContentFragmentTag = preFragmentTag;
    createBar(preFragment);
}
直走
public void gotoNextFragment(String nextTag, Fragment nextFragment){
    FragmentManager  fm = getSupportFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    ft.setCustomAnimations(R.animator.enter_slide_in, R.animator.enter_slide_out);
    boolean newlyCreated = false;
    if(nextFragment == null){
        nextFragment = Fragment.instantiate(this, nextTag);
        newlyCreated = true;
    }
    //hide current fragment
    ft.hide(fm.findFragmentByTag(Misc.currentContentFragmentTag));
    if(newlyCreated){
        ft.add(R.id.content_frame, nextFragment, nextTag);
    }
    else{
        ft.show(nextFragment);
    }
    ft.addToBackStack(null);
    ft.commit();
    Misc.currentContentFragmentTag = nextTag;
    createBar(nextFragment);
}
这些是我来回导航的方式,我希望能够在 onBackPressed() 上实现返回方法。这有意义吗?