如何使用导航组件库从底部导航更改片段更改时的工具栏图标?

How to change toolbar icon on fragment change from bottom navigation, using Navigation Component Lib?

我已经使用 navHostController 设置了底部导航,我有一个容器 activity,它有一个工具栏,我想根据我所在的片段更改工具栏中的图标,这很简单如果我没有使用导航组件库。

主要活动

 override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    bottomNavigationView.setupWithNavController(dashboardNavHostFragment.findNavController())
}

我想将工具栏中的图标更改为底部导航中活动的片段。

您可以使用 addOnDestinationChangedListener.
类似于:

navController.addOnDestinationChangedListener { _, destination, _ ->
   if(destination.id == R.id.xxxx) {
       toolbar.setNavigationIcon(R.drawable.xxxx)
   } else {
       //
   }
}