Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 方向改变时碎片堆栈的行为_Android_Android Navigation_Android Jetpack Navigation - Fatal编程技术网

Android 方向改变时碎片堆栈的行为

Android 方向改变时碎片堆栈的行为,android,android-navigation,android-jetpack-navigation,Android,Android Navigation,Android Jetpack Navigation,我有一个活动A,它定义了androidx.fragment.app.FragmentContainerView,布局中有给定的导航图。导航图的起点是片段F1,该片段具有导航到片段F2的操作(操作仅具有id和目标)。片段F2具有id为的操作和指定F1图形id的poputo。这一切都很好,直到我通过翻转设备来改变活动方向。方向更改后,当我执行F2操作时,我得到java.lang.IllegalStateException:no current navigation node为什么会发生这种情况以及如

我有一个活动A,它定义了
androidx.fragment.app.FragmentContainerView
,布局中有给定的导航图。导航图的起点是片段F1,该片段具有导航到片段F2的操作(操作仅具有id和目标)。片段F2具有id为的操作和指定F1图形id的
poputo
。这一切都很好,直到我通过翻转设备来改变活动方向。方向更改后,当我执行F2操作时,我得到
java.lang.IllegalStateException:no current navigation node
为什么会发生这种情况以及如何修复


更新:导航组件错误。这里的解决方案:

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

我没有做任何方向更改,但即使我做了,保留实例看起来更像是一种解决方案,而不是一种解决方案。但是您在上面说过,您可以通过翻转设备来更改活动方向,之后,它将向您显示异常。请确定你问了什么或没有问什么。对不起,我道歉