我需要使用导航组件并且已经设置好了。导航图需要startDestination
在创建时默认加载该片段。但是,我有一个片段,我只想在现有屏幕中触发事件后显示。在我准备好导航到它之前,我怎么能将片段容器留空?
1 回答
1
在您的 xml 文件中将您的容器声明为空导航主机
<fragment
android:id="@+id/container"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
然后在您的活动中,您可以以编程方式设置图表
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
你可以检查这个链接
于 2020-08-08T06:50:38.520 回答