让我说我的应用程序中有这个流程。用户输入Fragment1,然后他继续使用frag2,然后是frag3。在frag3中,他决定进入另一个视图(frag4),最终将他带回frag3。
他进入frag5,然后他回到了frag3。如果这种情况下的用户按下后退按钮,我希望他回到frag2。我怎样才能实现这种行为?到目前为止,所有FragmentTransactions
都会保存在后台堆中。
我想通过这样做来删除frag4和frag5:
FragmentTransaction ft = new FragmentTransaction(getSupportFragmentManager());
ft.beginTransaction();
ft.remove(getSupportFragmentManager().findFragmentByTag("frag4"));
ft.remove(getSupportFragmentManager().findFragmentByTag("frag5"));
ft.commit();
但这没有成功。我希望它能直接回到Frag2。
-> Frag4
/ \
Frag1 -> Frag2 -> Frag3 <-Frag5<--
/ \
|
|
Here I want to go back to Frag2 after I have visited Frag4 and Frag5