我需要使用导航组件并已对其进行设置。导航图需要一个 startDestination
,它在创建时默认加载该 fragment 。但是,我有一个 fragment ,我只想在现有屏幕内触发事件后显示该 fragment 。在我准备好导航到 fragment 容器之前,如何将 fragment 容器保留为空?
最佳答案
在您的 xml 文件中将容器声明为空导航主机
<fragment
android:id="@+id/container"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
然后在您的 Activity 中,您可以以编程方式设置图表
val navHost = NavHostFragment()
fragmentManager.beginTransaction()
.replace(R.id.container, navHost)
.commit()
val graph = navHost.navController.navInflater.inflate(R.navigation.my_navigation)
graph.startDestination = R.id.my_fragment
navHost.navController.graph = graph
你可以检查这个link
关于android - 如何使用导航图而不默认加载 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63306379/