【问题标题】:Remove all fragments up to particular fragment in stack android删除堆栈android中特定片段的所有片段
【发布时间】:2014-04-14 12:43:10
【问题描述】:

您好,我正在开发 android 应用程序,我在其中使用片段并推回堆栈。所以我的场景是这样的,我有片段 A、B、C、D,我按照 A-->B-->C-->D 的顺序推送它们,我想要删除 D 和 C 并带来 B在上面。有什么方法可以将所有内容一起删除并将一个特定的片段放在堆栈顶部。就像从后栈弹出到 xyz 片段标签一样。有没有办法做到这一点。需要帮助谢谢。

【问题讨论】:

    标签: android android-fragments back-stack


    【解决方案1】:

    你想要这个:FragmentManager.popBackStack(int id, int flags)

    你需要保存添加Fragment B的事务FragmentTransaction.commit()返回的值,然后调用getFragmentManager().popBackStack(commitId, 0)

    【讨论】:

    • 嗨 Karakuri 感谢您快速重播。我在谷歌文档上检查了这个方法。但我能够正确理解它的使用。你能解释一下它是如何工作的吗?谢谢你的帮助...
    • 当然。第一个参数是一个整数 ID。 FragmentTransaction.commit() 返回一个整数值。此值是您在调用popBackStack(id, flags) 时要使用的 ID。在您的代码中找到将片段 B 添加到您的活动的事务,并确保您存储了 commit() 返回的值。第二个参数只是一个标志,它告诉 FragmentManager 是要仅将事务弹出回 ID(独占),还是同时弹出 ID(包含),这会将您带回 Fragment A。传递零以指定独占。
    猜你喜欢
    • 2016-12-15
    • 1970-01-01
    • 2018-10-29
    • 2019-02-28
    • 2015-09-20
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    • 2015-02-07
    相关资源
    最近更新 更多