Las extensiones de Kotlin para Android dejaron de estar disponibles, lo que significa que usar Kotlin ya no se admiten los sintéticos de vinculación de vistas. Si tu app usa Kotlin sintéticos de la vinculación de vistas, usa esta guía para migrar a la vinculación de vistas de Jetpack.
Si tu app aún no usa sintéticos de Kotlin para la vinculación de vistas, consulta Ver vinculación para obtener información básica de uso.
Cómo actualizar el archivo Gradle
Al igual que las extensiones de Android, la vinculación de vistas de Jetpack se habilita en módulos
base. Para cada módulo que use la vinculación de vista, configura la compilación viewBinding
para true
en el archivo build.gradle
a nivel del módulo:
Groovy
android { ... buildFeatures { viewBinding true } }
Kotlin
android { ... buildFeatures { viewBinding = true } }
Si tu app no usa Parcelable
quita la línea que habilita las extensiones de Kotlin para Android:
Groovy
plugins { id 'kotlin-android-extensions' }
Kotlin
plugins { kotlin("android.extensions") }
Si deseas obtener más información para habilitar la vinculación de vista en un módulo, consulta Configuración. instrucciones.
Cómo actualizar actividades y clases de fragmentos
Con la vinculación de vista de Jetpack, se genera una clase de vinculación para cada archivo de diseño XML.
que contiene el módulo. El nombre de esta clase de vinculación es el nombre del XML
mayúsculas y minúsculas con la palabra Binding agregada al final Por ejemplo,
el nombre del archivo de diseño es result_profile.xml
, que es el nombre del
la clase de vinculación es ResultProfileBinding
.
Para usar las clases de vinculación generadas en lugar de las propiedades sintéticas vistas de referencia, cambiar tu actividad y las clases de fragmentos haciendo lo siguiente lo siguiente:
Quita todas las importaciones de
kotlinx.android.synthetic
.Aumentar una instancia de la clase de vinculación generada para la actividad o que se usará.
- Para las actividades, sigue las instrucciones que aparecen en Cómo usar la vinculación de vista en
actividades para aumentar una
instancia en la configuración
onCreate()
. - Para fragmentos, sigue las instrucciones que se indican en Cómo usar la vinculación de vista en
fragmentos para aumentar una instancia
en la carpeta de destino de tu fragmento
onCreateView()
.
- Para las actividades, sigue las instrucciones que aparecen en Cómo usar la vinculación de vista en
actividades para aumentar una
instancia en la configuración
Cambia todas las referencias de vista para usar la instancia de clase de vinculación en lugar de propiedades sintéticas:
// 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
Para obtener más información, consulta la sección Uso en la guía de vinculación de vistas.
Recomendaciones para ti
- Nota: El texto del vínculo se muestra cuando JavaScript está desactivado
- Vinculación de vistas
- Descripción general de la biblioteca de Paging
- Cómo probar tu implementación de Paging