我有一个标题栏(类似于菜单),和4个碎片(MAIN,A,B,C),其中MAIN应该是回退堆栈的“主/根”碎片。
我的问题是,当用户通过菜单进入 MAIN > A > B > C 等路径时,如果我简单地使用回退堆栈,它将按相反的顺序返回,这不是我想要的。 无论用户如何导航到这3个碎片之一,我都需要后退按钮返回到MAIN。
下图是示意图: 我的当前代码(错误的是:不在MAIN中且从其他非MAIN碎片切换当前碎片时退出应用程序)如下:
我的问题是,当用户通过菜单进入 MAIN > A > B > C 等路径时,如果我简单地使用回退堆栈,它将按相反的顺序返回,这不是我想要的。 无论用户如何导航到这3个碎片之一,我都需要后退按钮返回到MAIN。
下图是示意图: 我的当前代码(错误的是:不在MAIN中且从其他非MAIN碎片切换当前碎片时退出应用程序)如下:
private void SwitchFragment(Fragment pFragment)
{
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.main_fl_fragmentcontainer, pFragment);
if (_CurrentFragment == _Frag_Main)
ft.addToBackStack(null);
ft.commit();
_CurrentFragment = pFragment;
}