@hypnogaja

Как переопределить один item на bottomNavView в Android?

Всем привет, в андроид студио есть стандартные шаблоны гугла с Navigation Drawer и шаблон с Bottom Navigation. Объединив их получается архитектура, когда MainActivity рулит всей навигацией через nav_graph.
Каким образом в таком случае можно переопределить только один item в bottomNavView, чтобы по нажатию на него, открывался NavigationDrawer?
623c699406ada256311889.png
Проблема состоит в том, что при использовании 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
        }
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы