Navigation 使用后退按钮从一个片段切换到另一个片段

Navigation 使用后退按钮从一个片段切换到另一个片段,navigation,fragment,back,Navigation,Fragment,Back,我还是一个新的应用程序开发人员,正在试用我的第一个应用程序 我有一个应用程序,它有一个主活动,有三个菜单按钮,一个按钮指向一个片段,在这个片段中,还有一个按钮创建并显示另一个片段。 就是这样 活动->片段1->片段2 我尝试使用后退按钮从片段2导航到片段1。 我使用了getActivity().onBackPressed()。 问题是,当它应该导航回片段1时,它只是一路跳回到活动 为了从F2导航回F1,我需要覆盖或使用什么方法 先谢谢你 添加片段时,也将其添加到backbackback。这将允许

我还是一个新的应用程序开发人员,正在试用我的第一个应用程序

我有一个应用程序,它有一个主活动,有三个菜单按钮,一个按钮指向一个片段,在这个片段中,还有一个按钮创建并显示另一个片段。 就是这样 活动->片段1->片段2 我尝试使用后退按钮从片段2导航到片段1。 我使用了getActivity().onBackPressed()。 问题是,当它应该导航回片段1时,它只是一路跳回到活动

为了从F2导航回F1,我需要覆盖或使用什么方法


先谢谢你

添加片段时,也将其添加到backbackback。这将允许您处理已经添加的片段,因为您可以在
onBackPressed
中处理它们

@Override
public void onBackPressed() {
    FragmentManager fragmentManager = getSupportFragmentManager();

if (fragmentManager.getBackStackEntryCount() < 1){
    Fragment fragment = new XXXFragment();
    FragmentTransaction fragmentTransaction =    
    getSupportFragmentManager().beginTransaction();

    getSupportActionBar().setTitle(mDrawerTitle);

    fragmentTransaction.replace(R.id.frame_container, 
    fragment).addToBackStack("first").commit();

}else{
    finish();
}
}
@覆盖
public void onBackPressed(){
FragmentManager FragmentManager=getSupportFragmentManager();
if(fragmentManager.GetBackbackEntryCount()<1){
Fragment Fragment=新的XXXFragment();
碎片事务碎片事务=
getSupportFragmentManager().beginTransaction();
getSupportActionBar().setTitle(mDrawerTitle);
fragmentTransaction.replace(R.id.frame_容器,
片段)。addToBackStack(“第一”).commit();
}否则{
完成();
}
}