Всем привет, в андроид студио есть стандартные шаблоны гугла с Navigation Drawer и шаблон с Bottom Navigation. Объединив их получается архитектура, когда MainActivity рулит всей навигацией через nav_graph.
Каким образом в таком случае можно переопределить только один item в bottomNavView, чтобы по нажатию на него, открывался NavigationDrawer?
Проблема состоит в том, что при использовании
bottomNavView.setOnItemSelectedListener переопределяются сразу все кнопки, а сделать это технически нельзя.
Нельзя сделать свич из MainActivity на другой фрагмент используя Directions, потому что это не хост фрагмент, а из активити нельзя использовать MainActivityDirections.
bottomNavView.setOnItemSelectedListener { item ->
when (item.itemId) {
R.id.nav_menu -> {
binding.drawerLayout.openDrawer(Gravity.LEFT)
}
R.id.nav_map -> {
navController.navigate(MainActivityDirections.action...)
return@setOnItemSelectedListener false
}
R.id.nav_favourites -> {
navController.navigate(MainActivityDirections.action...)
return@setOnItemSelectedListener false
}
R.id.nav_home -> {
navController.navigate(MainActivityDirections.action...)
return@setOnItemSelectedListener false
}
}
return@setOnItemSelectedListener false
}