Как обратиться к view в андроид?

Использую последнюю версию Android Studio 2020.3.1 Patch 1 (Windows 10 64x, 16gb). Делаю один проект по примеру.

  1. В разметке у меня есть NavigationView с id nav_view

  2. Мой builde.gradle выглядит так:

    dependencies {
        implementation 'androidx.core:core-ktx:1.6.0'
        implementation 'androidx.appcompat:appcompat:1.3.1'
        implementation 'com.google.android.material:material:1.4.0'
        implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
    }
    

Когда я пишу код в MainActivity, то у меня выходит красным цветом nav_view:

nav_view.setNavigationItemSelectedListener(this)

В какую сторону смотреть?


Ответы (1 шт):

Автор решения: Vadik

Добро пожаловать в мир разработки под Андроид. Чтобы достать view по id, используйте метод findViewById:

val navigationView = findViewById<NavigationView>(R.id.nav_view)

Далее, можете пользоваться полученным navigationView:

navigationView.setNavigationItemSelectedListener(this)

Возможно, что в примере, по которому вы делаете проект, использовался kotlin-synthetic. Но эта штука уже устарела, вместо нее теперь можно использовать view-binding.

Как только вы наберетесь опыта и вам надоест каждый раз писать findViewById, то посмотрите в сторону использования view-binding.

→ Ссылка