Las extensiones de Android para Kotlin dejaron de estar disponibles, lo que significa que ya no se admite el uso de sintéticos de Kotlin para la vinculación de vistas. Si tu app usa sintéticos de Kotlin para la vinculación de vistas, usa esta guía a fin de 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 Vinculación de vistas a fin de obtener información de uso básica.
Cómo actualizar el archivo Gradle
Al igual que las extensiones de Android, la vinculación de vistas de Jetpack se habilita módulo por módulo. Para cada módulo que usa vinculación de vista, establece la opción de compilación viewBinding
en 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 las funciones Parcelable
, quita la línea que habilita las extensiones de Android Kotlin:
Groovy
plugins { id 'kotlin-android-extensions' }
Kotlin
plugins { kotlin("android.extensions") }
Si quieres obtener más información para habilitar la vinculación de vistas en un módulo, consulta las Instrucciones de configuración.
Cómo actualizar clases de actividades y 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 archivo XML escrito en mayúsculas y minúsculas, con la palabra Binding al final. Por ejemplo, si el nombre del archivo de diseño es result_profile.xml
, el nombre de la clase de vinculación generada es ResultProfileBinding
.
Si deseas usar las clases de vinculación generadas en lugar de propiedades sintéticas para hacer referencia a vistas, cambia las clases de actividad y fragmentos de la siguiente manera:
Quita todas las importaciones de
kotlinx.android.synthetic
.Aumenta una instancia de la clase de vinculación generada para que la actividad o el fragmento la use.
- En el caso de las actividades, sigue las instrucciones que se indican en Cómo usar la vinculación de vistas en actividades para aumentar una instancia en el método
onCreate()
de tu actividad. - Para los fragmentos, sigue las instrucciones que se indican en Cómo usar la vinculación de vistas en fragmentos para aumentar una instancia en el método
onCreateView()
de tu fragmento.
- En el caso de las actividades, sigue las instrucciones que se indican en Cómo usar la vinculación de vistas en actividades para aumentar una instancia en el método
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 vista
- Descripción general de la biblioteca de Paging
- Cómo probar tu implementación de Paging