我的项目中有两个导航图,一个是抽屉碎片图,另一个是其他片段的导航图,我想从抽屉和其他片段中获取所选图的ID

最佳答案

如果您的项目只有一个 Activity ,则下面的代码可以正常工作。
您必须对navController实施destinationchanged侦听器,如下所示。

首先使用以下代码找到您的navController

val navController = Navigation.findNavController(this@MainActivity, R.id.navHostFragment)

现在将目标更改的侦听器附加到您的navcontroller
navController.addOnDestinationChangedListener { controller, destination, arguments ->
            destinationId = destination.id
        }
destinationId这是您的片段ID。

和侧面菜单抽屉的其他导航图,然后在抽屉片段中执行相同的代码,其中包含NavigationView

09-04 02:22