要在上一个片段之上打开一个片段,您可以使用导航组件和NavController类中的相应方法。
在你的布局文件中为目标片段设置一个容器:
然后在导航图中定义这个目标片段,并将其添加到当前活动的堆栈中:
...
在这里,launchSingleTop
属性设置为true,指示当前应使用单个顶部任务打开目标片段。
最后,在要启动目标片段的代码中,获取NavController实例并调用navigate()
方法:
val navController = findNavController(R.id.nav_host_fragment)
navController.navigate(R.id.action_start_to_target)
这将在上一个片段之上打开目标片段。
参考链接:https://developer.android.com/guide/navigation/navigation-getting-started#top_app_level```