gpt4 book ai didi

android - 作为 NavHost 的 View

转载 作者:行者123 更新时间:2023-12-03 13:24:35 31 4
gpt4 key购买 nike

使用 androidx.fragment.app.FragmentContainerView 时作为 navHost 而不是常规的 fragment方向更改后,应用程序无法导航到目的地。

我收到以下错误:java.lang.IllegalStateException: no current navigation node
有没有我应该知道的正确使用它的问题,或者我使用导航组件的方式不正确?

带有 View 的简单 Activity xml:


...
<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:navGraph="@navigation/nav_simple" />
...

导航代码:
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_legislator.xml"
app:startDestination="@id/initialFragment">

<fragment
android:id="@+id/initialFragment"
android:name="com.example.fragmenttag.InitialFragment"
android:label="Initial Fragment"
tools:layout="@layout/initial_fragment">
<action
android:id="@+id/action_initialFragment_to_destinationFragment"
app:destination="@id/destinationFragment" />
</fragment>
<fragment
android:id="@+id/destinationFragment"
android:name="com.example.fragmenttag.DestinationFragment"
android:label="Destination Fragment"
tools:layout="@layout/destination_fragment" />

</navigation>

这是一个 github 存储库,您可以在其中轻松重现错误: https://github.com/dmytroKarataiev/navHostBug

最佳答案

no current navigation node当没有图表集并且您尝试调用 navigate() 时会发生错误.如果它只在您使用 FragmentContainerView 时出现并且在配置更改后,这将与 this bug 有关,已修复并计划与 Navigation 2.2.0-rc03 一起发布。

要解决此问题,您可以切换回 <fragment>或删除 app:navGraph="@navigation/nav_simple"而是调用navController.setGraph(R.navigation.nav_simple) .

关于android - <androidx.fragment.app.FragmentContainerView> 与 <fragment> 作为 NavHost 的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58737769/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com