Расширения Kotlin для Android устарели, а это означает, что использование синтетики Kotlin для привязки представления больше не поддерживается. Если ваше приложение использует синтезатор Kotlin для привязки представления, воспользуйтесь этим руководством для перехода на привязку представления Jetpack.
Если ваше приложение еще не использует синтетику Kotlin для привязки представления, см. базовую информацию об использовании в разделе Привязка представления .
Обновите файл Gradle
Как и расширения Android, привязка представления Jetpack включается для каждого модуля отдельно. Для каждого модуля, использующего привязку представления, установите для параметра сборки viewBinding
значение true
в файле build.gradle
уровня модуля:
классный
android { ... buildFeatures { viewBinding true } }
Котлин
android { ... buildFeatures { viewBinding = true } }
Если ваше приложение не использует функции Parcelable
, удалите строку, которая включает расширения Kotlin для Android:
классный
plugins { id 'kotlin-android-extensions' }
Котлин
plugins { kotlin("android.extensions") }
Чтобы узнать больше о включении привязки представления в модуле, см. инструкции по настройке .
Обновление классов активности и фрагментов
При привязке представления Jetpack класс привязки создается для каждого файла макета XML, содержащегося в модуле. Имя этого класса привязки — это имя файла XML в регистре Pascal со словом Binding, добавленным в конце. Например, если имя файла макета — result_profile.xml
, имя созданного класса привязки — ResultProfileBinding
.
Чтобы использовать сгенерированные классы привязки вместо синтетических свойств для ссылки на представления, измените классы активности и фрагмента, выполнив следующие действия:
Удалите весь импорт из
kotlinx.android.synthetic
.Создайте экземпляр созданного класса привязки для использования действием или фрагментом.
- Для действий следуйте инструкциям в разделе Использование привязки представления в действиях , чтобы раздуть экземпляр в методе
onCreate()
вашего действия. - Для фрагментов следуйте инструкциям в разделе Использование привязки представления во фрагментах, чтобы раздуть экземпляр в методе
onCreateView()
вашего фрагмента.
- Для действий следуйте инструкциям в разделе Использование привязки представления в действиях , чтобы раздуть экземпляр в методе
Измените все ссылки на представления, чтобы использовать экземпляр класса привязки вместо синтетических свойств:
// Reference to "name" TextView using synthetic properties.
name.text = viewModel.nameString
// Reference to "name" TextView using the binding class instance.
binding.name.text = viewModel.nameString
Дополнительные сведения см. в разделе «Использование» руководства по привязке представления.
{% дословно %}Рекомендуется для вас
- Примечание. Текст ссылки отображается, когда JavaScript отключен.
- Посмотреть привязку
- Обзор библиотеки подкачки
- Протестируйте реализацию пейджинга