我有一个问题,但是我无法在任何地方找到解决方案。
我的应用程序在按下返回按钮时不会返回到以前的片段,而是关闭了整个活动。
我有一个活动,显示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();
}
}
当转换是从[3]到[4]时,toBackStack始终为false。
如果我在每个转换中传递true给toBackStack,那么无论如何活动都会关闭。