我有一个Activity
包含三个 Fragments 的片段,我们称它们为A、B和C。Fragment
A在 Activity 中被调用onCreate()
。
FragmentA fragA = new FragmentA();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.activity2_layout, fragA, "A");
transaction.commit();
并在按下某些按钮时被 Fragment B或CaddToBackStack()
替换,并且 FragmentTransaction 调用.
FragmentB fragB = new FragmentB(); //or C
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.activity2_layout, fragB, "B"); //or C
transaction.addToBackStack("B"); //or C
transaction.commit();
但是假设我连续调用Fragment
B三次,我怎样才能防止它自己堆叠到它上面呢?同时我希望这成为可能:B调用 > C调用 > B调用 - 但是当我尝试返回时,我希望B只打开一次(C < B)而不是(B < C < B) . 所以基本上用新的 backStack 删除第一个 backStack。