我正在本机 Android Kotlin 应用程序上实现单活动架构,其中 CoreActivity 托管单个导航主机,用于管理应用程序的导航。
我使用 Jetpack Navigation 来处理导航状态,并使用核心导航图文件来描述导航层次结构。 https://developer.android.com/jetpack/androidx/releases/navigation
问题
当尝试在 2 个片段之间导航时(在配置更改之前),它工作正常。
但是,如果方向发生变化,导航库上的片段管理器将拒绝导航并在针对 LogCat 运行时输出以下内容。
FragmentNavigator: Ignoring navigate() call: FragmentManager has already saved its state
在 Activity 的 onActivityResult 中,您必须始终调用 super.onActivityResult()。
允许通过解锁片段进行片段交易(即避免状态已保存错误)。
将回调从活动发送到调用 startActivityForResult 的片段。
在这里您可以了解有关片段导航器的更多信息 https://developer.android.com/reference/androidx/navigation/fragment/FragmentNavigator