Intereting Posts
NoClassDefFoundError во время выполнения Android N Java 8 (компилятор Jack) и Kotlin interop torgadoFX togglebutton не имеет текстового свойства Использование объекта-компаньона для возврата экземпляра класса в Котлин Почему настройка onClickListener работает один раз? При обработке аннотаций произошла некоторая ошибка (ошибки) Невозможно внедрить один и тот же экземпляр в Сервис и ViewModel DexFile не содержит сгенерированных классов после добавления конфигурации Kotlin на Android 4.4 Блокировка serialVersionUID в Котлине Android Kotlin создает реализацию класса Parcelable дает ошибку в «переопределении» метода writeToParcel Kotlin Dagger 2 не может предоставить Interactor Как реализовать шаблон проектирования шаблонов в Котлине? Kotlin четверка, пятикратная и т. Д. Для деструктурирования Почему при создании этого проекта появляется ошибка «Нет дескрипторов сборки». Должны ли файлы Kotlin помещаться в отдельный исходный каталог на Android?

Как получить доступ к представлению из макета, указанного в headerLayout NavigationView с помощью Kotlin в Android

Я хочу получить доступ к TextView, который включен в headerLayout из NavigationView. Возможно ли получить доступ к представлению с использованием расширения Kotlin android? Я использовал этот метод, но TextView (здесь txtName) всегда имеет значение null.

Вот мой activity_main.xml

<android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="end" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header_splash" app:menu="@menu/activity_splash_drawer" /> 

nav_header_splash.xml

 <TextView android:id="@+id/txtName" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toRightOf="@+id/txt1" android:layout_below="@+id/imageView" android:text="@string/name" android:textSize="18sp" android:textColor="@color/white" /> 

в MainActivity.kt Я импортировал

 import kotlinx.android.synthetic.main.nav_header_splash.* 

in onCreate() класса Activity I задал текст как

 txtName.text = "Sample Code" 

build.gradle в папке приложения

 apply plugin: 'kotlin-android-extensions' 

build.gradle моего проекта

  classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" 

Есть ли ошибка в моем коде? Пожалуйста помоги. Я новичок в Котлине.

Не import kotlinx.android.synthetic.main.nav_header_splash.* Он будет доступен из самого основного файла, так как

вместо этого import kotlinx.android.synthetic.main.nav_header_splash.view.*

и получить представление, используя

 val header = mNavigationView.getHeaderView(0) header.txtName.text = "Sample Code"