我的问题是,我想动态添加顶级目的地到我的应用程序,或者至少在这些片段上显示抽屉图标。
目前,我的顶层目的地是这样定义的。
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
val navView: NavigationView = findViewById(R.id.nav_view)
val navController = findNavController(R.id.nav_host_fragment)
appBarConfiguration = AppBarConfiguration(setOf(R.id.nav_all_images, R.id.nav_favourites), drawerLayout)
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
我想动态添加目的地到分类中,当我像这样添加时。
val s = navView.menu.addSubMenu("Test")
val m = s.add("Category 1")
m.setOnMenuItemClickListener {
navController.navigate(AllImagesFragmentDirections.listToDetail())
drawerLayout.closeDrawers()
return@setOnMenuItemClickListener true
}
它打开了,但是,有一个后退按钮。
是否可以在这些目的地上显示抽屉图标抽屉?
好吧,我想出了一个适合我的解决方案。AppBarConfiguration
. 在点击监听器中,我直接导航到该片段。navcontroller.navigate(R.id.fragmentname)
因为它是在顶层的目的地,它将显示抽屉