【问题标题】:Behavior of fragments stack upon orientation change方向改变时碎片堆叠的行为
【发布时间】:2020-03-20 12:30:17
【问题描述】:

我的活动 A 定义了 androidx.fragment.app.FragmentContainerView,并在其布局中使用了给定的 navGraph。导航图的起点是片段 F1,它具有导航到片段 F2 的动作(动作只有 id 和目的地)。片段 F2 具有 id 和 popupTo 的操作,指定 F1 的图形 id。在我通过翻转设备更改活动方向之前,这一切都很好。方向改变后,当我执行 F2 动作时,我得到java.lang.IllegalStateException: no current navigation node 为什么会发生这种情况以及如何解决?

更新:导航组件错误。解决方法在这里:<androidx.fragment.app.FragmentContainerView> vs <fragment> as a view for a NavHost

【问题讨论】:

    标签: android android-navigation android-jetpack-navigation


    【解决方案1】:

    这可能是由于方向改变后片段状态发生了变化。您可以在片段的 onCreate() 中使用“setRetainInstance(true)”来保存它们的状态以用于方向更改。

    【讨论】:

    • 我没有做任何方向改变,但即使我愿意,保留实例看起来更像是解决方法而不是解决方案。
    • 但是你上面说过你通过翻转设备来改变你的活动方向,之后它会向你显示异常。请确保您已询问或未询问什么。
    • 对不起,我很抱歉
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 2014-07-14
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    相关资源
    最近更新 更多