사용하는 경우 androidx.fragment.app.FragmentContainerView
대신 일반의 navHost으로 fragment
응용하는 방향 변경 후 목적지로 이동 할 수 없습니다.
다음과 같은 오류가 발생합니다.
java.lang.IllegalStateException: no current navigation node
제대로 사용하기 위해 알아야 할 사항이 있습니까, 아니면 내비게이션 구성 요소를 사용하는 방법이 올바르지 않습니까?
보기가있는 간단한 활동 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
<fragment
으로FragmentContainerView
.