【问题标题】:Save fragment state with navigation drawer使用导航抽屉保存片段状态
【发布时间】:2013-10-18 11:48:47
【问题描述】:

我想在使用 androids 导航抽屉切换片段时保存片段的状态。如果之前已加载该片段,则不应刷新它。可能吗?

【问题讨论】:

    标签: java android navigation-drawer


    【解决方案1】:

    要保持片段的状态,您必须在片段的onCreate() 内调用setRetainInstance(true)。它的作用:

    控制是否跨Activity保留片段实例 重新创建(例如从配置更改)。

    这会在整个 Activity 重新创建过程中保持状态,但在这种情况下,您的 Activity 不会被重新创建,您正在使用抽屉手动切换片段。在这种情况下,您不必在抽屉的点击侦听器中创建新片段,而是必须使用findFragmentById(int id)findFragmentByTag(String tag) 来查找片段。如果返回的值为 null,那么您可以安全地创建一个新的。

    【讨论】:

    • 为什么我导航离开后片段管理器找不到片段?我知道可能有很多原因,但是还有什么没有提到的必要的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    相关资源
    最近更新 更多