我有一個主要活動,使用FragmentManager加載不同片段的RelativeLayout容器。 假設我用兩個事務加載fragment1和fragment2。在按下後退按鈕的情況下,我想返回到當fragment1和fragment2都未加載時的狀態。這可能嗎? 我試過在addToBackStack()方法來使用相同的名稱:Android:添加兩個或更多片段到同一個後臺堆棧狀態
mFragmentManager.beginTransaction().replace(R.id.activity_main, fragment1).addToBackStack("SameState").commit();
mFragmentManager.beginTransaction().add(R.id.activity_main, fragment2).addToBackStack("SameState").commit();
但這不起作用。如果我按下後退按鈕,fragment2會先消失,然後再次按下fragment1也會消失。任何建議?
@DeeV如果我這樣做的fragment2仍然活着(呈現) – revy
對不起,你是對的。它不會將它包含到後端堆棧中。我認爲你可能需要去做的方式是將兩個容器一起添加到容器中,然後在第二次提交時隱藏/取消隱藏fragment2。這樣,當你按「返回」時,兩者都將被刪除。 – DeeV