相关疑难解决方法(0)

设备旋转后,NavController 没有当前导航节点

我正在制作支持不同设备方向的应用程序。导航由 Android Jetpack 的 Navigation 执行。横向应用程序主屏幕如下所示。它是列表包装片段(它是NavHostFragment,它被添加到fragment标签中的活动布局),包装包括列表片段(fragment)和详细信息片段(FrameLayout)。纵向方向是相似的(包装器和列表在其中,详细信息可访问抛出导航)。

应用主画面

我的问题是在更改设备方向后出现异常

java.lang.IllegalStateException: 没有当前导航节点

带有模拟数据的布局的第一个版本工作正常,在我将 ROOM 添加到我的应用程序、新订单和更新订单片段后出现错误。很遗憾,我无法更准确地定位错误源。

列出包装器代码

class OrderListWrapperFragment : RxFragment() {

    private val disposable = CompositeDisposable()

    var selectedOrderId: Long = 0

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val bundle = savedInstanceState ?: arguments
        bundle?.let {
            selectedOrderId = it.getLong(EXTRA_ORDER_ID)
        }
    }

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? = inflater.inflate(R.layout.orders__list_wrapper, container, false)

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        initializeToolbar(toolbar, …
Run Code Online (Sandbox Code Playgroud)

android android-fragments kotlin android-architecture-components

16
推荐指数
2
解决办法
5903
查看次数