【问题标题】:How to resume backstack fragment with out removing top fragments?如何在不删除顶部片段的情况下恢复回栈片段?
【发布时间】:2016-09-07 15:54:19
【问题描述】:

我想要恢复片段状态如下。

我有 5 个片段 A、B、C、D、E。 如果用户打开像 A ---> B ---> C ---> D ---> E 这样的片段。使用 默认返回堆栈,返回键它工作正常。但是当用户打开 A ---> B ---> C ---> D ---> E ---> B 之后,如果用户单击返回,默认返回堆栈将转到 A。

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

【问题讨论】:

    标签: android android-fragments instance fragment-backstack


    【解决方案1】:

    按照here 的建议,您可以简单地隐藏和显示其他片段

    您可以隐藏您的第二个和第三个片段,并使您的第一个片段可见。 > 所以你会有第一个片段显示在顶部而其他片段不可见的效果。

    解决方案:

    使用 FragmentTransaction 的显示和隐藏方法。首先,您需要找到所有片段并调用 FragmentTransaction 来显示和隐藏第二个和第三个片段。

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

    在此之后,你拦截“onBackPressed”并再次显示隐藏的

    希望对你有帮助

    【讨论】:

    • @BincyBaby 您需要将所有片段保存在堆栈中还是关闭它们?
    • 如果返回单击的片段必须关闭,如果选项卡更改片段保存在堆栈中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    相关资源
    最近更新 更多