Ner*_*fpl 8 navigation android android-fragments back-stack
我有一个标题栏(有点像菜单)和4个片段(MAIN,A,B,C),其中MAIN应该是backstack的'main/root'片段.
我遇到的问题是当用户通过菜单进行例如MAIN> A> B> C.如果我只是使用backstack它将按相反的顺序进行,我不想要.无论用户如何导航到其中一个,我都需要返回按钮返回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;
}
Run Code Online (Sandbox Code Playgroud)
小智 4
您的堆栈最多必须包含 2 个片段
Main 可见 Main 在 Backstack / AorBorC 上可见。用户点击返回 ==> Main 可见。用户点击返回==>申请结束
我想 A / B / C 显示在同一视图中,所以在这种情况下,
当用户单击您的菜单时,您必须检查当前是否显示 A/ B/C 并将其替换为用户选择的菜单。
private void displayFragment(Fragment pFragment) {
Fragment fr = getSupportFragmentManager()
.findFragmentById(R.id.main_fl_fragmentcontainer);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.main_fl_fragmentcontainer, pFragment);
if (_CurrentFragment == _Frag_Main) {
ft.addToBackStack(null);
}
ft.commit();
_CurrentFragment = pFragment;
}
Run Code Online (Sandbox Code Playgroud)
可以覆盖OnBackPressed您的活动的方法。
| 归档时间: |
|
| 查看次数: |
5529 次 |
| 最近记录: |