如何在不移除顶部碎片的情况下恢复backstack片段?

时间:2016-09-07 15:54:19

标签: android android-fragments instance fragment-backstack

我想恢复片段状态如下。

我有5个片段A,B,C,D,E。 如果用户打开片段,如A ---> B ---> C ---> D ---> E.运用 默认后台堆栈,后退键可以正常工作。但是当用户打开A ---> B ---> C ---> D ---> E ---> B.此后如果用户单击后退,默认后退堆栈将转到A.

所以我需要保存顶部片段或重新排序堆栈

1 个答案:

答案 0 :(得分:0)

根据建议here,您可以隐藏并显示其他片段

  

您可以隐藏第二个和第三个片段,并使第一个片段可见。 >因此,你会发现第一个片段显示在顶部而其他片段不可见。

     

溶液:

     

使用FragmentTransaction的show和hide方法。你需要找到所有片段并调用FragmentTransaction来显示和隐藏第二和第三个片段。

因此,您可以在C,D和E片段上调用hide,显示B片段。

在此之后,你拦截" onBackPressed"并再次显示隐藏的那些

希望这有帮助