有没有办法用FragmentTransaction's replace
替换片段,不将其添加到历史堆栈?
当我按下按钮时,我只是希望我的应用程序不记得它。
答案 0 :(得分:10)
当您使用FragmentTransaction添加片段时,会有addToBackStack选项,如果您不使用它,它将不在堆栈中。
// it won't add to stack
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
// fragment will be added to stack
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.addToBackStack("placeholder")
commit();
答案 1 :(得分:3)
默认情况下,片段不会添加到Backstack中。您需要从代码中移除对addToStack()
的来电。