我有一个问题,我无法在任何地方找到解决方案。
当我按下后退按钮时,我的应用程序不会返回到上一个片段,而是关闭活动。
我有一个显示 4 个片段的活动:[1]、[2]、[3]、[4]。我可以使用操作栏在前 3 个片段之间切换,我不想将它们添加到后台堆栈。
片段 [4] 是片段 [3] 中所选项目的详细视图。当我按下 [4] 时,我想返回片段 [3],而不是关闭应用程序。
通过放置片段的活动以这种方式完成转换:
private void replaceFragment(Fragment fragment, boolean toBackStack){
if(fragment != null){
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.container, fragment);
if(toBackStack)
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
}
其中 toBackStack 始终为假,除非从 [3] 到 [4] 的转换。
如果我在每次转换中都传递 toBackStack true,则活动无论如何都会关闭。