Seems like using the FragmentContainerView
doesn't work right out of the box?
<androidx.fragment.app.FragmentContainerView
class="androidx.navigation.fragment.NavHostFragment"
android:id="@+id/fragment_nav_host"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_app" />
Here's my code using fragment-ktx:1.2.0-rc01
and I'm just always getting this error:
Caused by: java.lang.IllegalStateException: Activity ...MainActivity@797467d does not have a NavController set on 2131296504
Just using <fragment>
works and AFAIK, it's just supposed to be replaced by FragmentContainerView
.
Am I missing something or was anyone able to use FragmentContainerView
as a NavHostFragment
?
Many thanks!
Call
findNavController
inpostOnCreate
instead ofonCreate
.Source: https://issuetracker.google.com/issues/142847973
What I did was to wait for the
NavHostFragment
to inflate its view:Kotlin:
Java8 (with lambda):
Due to this bug-report: https://issuetracker.google.com/issues/142847973
The only way (currently) is to to this:
(Java):
using
android:name
instead ofclass
. works.