Android NavigationView предотвращает выбор элемента, установите флажок, чтобы он не работал внутри onNavigationItemSelected

#android #android-navigationview

Вопрос:

Это код в onNavigationItemSelected

   R.id.nav_subscribed -> {
        if (prefs.getLong("userid", 0L) == 0L) {
            when (currentGal) {
                "top" -> {
                    // navView.setCheckedItem(R.id.nav_top)
                    // navView.menu.getItem(R.id.nav_top).isChecked = true
                }
            }

            val i = Intent(this, Login::class.java)
            this.startActivity(i)
        } else {
            if(currentGal != "subscriptions"){
                getMemes("subscriptions", 0)
            }
        }
    }
 

Я стараюсь предотвратить nav_subscribed проверку, когда пользователь не вошел в систему, и проверяю/сохраняю проверку nav_top

 navView.setCheckedItem(R.id.nav_top)
 

не работает и

navView.menu.getItem(R.id.nav_top).isChecked = true

разбил приложение. Так как же это сделать? Кстати, Android-это ужасное сломанное мусорное программное обеспечение

Ответ №1:

      navigationView?.setOnNavigationItemSelectedListener {
    
                when (it.itemId) {
                    R.id.nav_subscribed -> { 
  //  if you don't want an item to be selected return false
         return@setOnNavigationItemSelectedListener false
                    }
                    R.id.nav_top -> {
                       
                    }
                
                 
                }
//return true to select the other items
                true
            }