Le estensioni Android Kotlin sono deprecate, il che significa che l'utilizzo dei sintetici Kotlin per l'associazione delle visualizzazioni non è più supportato. Se la tua app utilizza sintetici Kotlin per l'associazione delle viste, utilizza questa guida per eseguire la migrazione all'associazione delle viste Jetpack.
Se la tua app non utilizza già i sintetici Kotlin per l'associazione delle viste, consulta Associazione delle visualizzazioni per informazioni di base sull'utilizzo.
Aggiornare il file Gradle
Come per le estensioni Android, l'associazione delle visualizzazioni Jetpack è abilitata modulo per modulo. Per ogni modulo che utilizza l'associazione di visualizzazione, imposta l'opzione di build viewBinding
su true
nel file build.gradle
a livello di modulo:
Trendy
android { ... buildFeatures { viewBinding true } }
Kotlin
android { ... buildFeatures { viewBinding = true } }
Se la tua app non utilizza le funzionalità di Parcelable
, rimuovi la riga che attiva le estensioni Android di Kotlin:
Trendy
plugins { id 'kotlin-android-extensions' }
Kotlin
plugins { kotlin("android.extensions") }
Per scoprire di più sull'attivazione dell'associazione di visualizzazioni in un modulo, consulta le istruzioni di configurazione.
Aggiorna classi di attività e di frammenti
Con l'associazione della vista Jetpack, viene generata una classe di associazione per ogni file di layout XML contenuto nel modulo. Il nome di questa classe di associazione è il nome del file XML in formato Pascal con la parola Binding alla fine. Ad esempio, se il nome del file di layout è result_profile.xml
, il nome della classe di associazione generata è ResultProfileBinding
.
Per utilizzare le classi di associazione generate anziché le proprietà sintetiche per le viste di riferimento, modifica le classi di attività e di frammenti nel seguente modo:
Rimuovi tutte le importazioni da
kotlinx.android.synthetic
.Aumenta un'istanza della classe di associazione generata per l'attività o il frammento da utilizzare.
- Per le attività, segui le istruzioni in Utilizzare l'associazione delle viste nelle attività per gonfiare un'istanza nel metodo
onCreate()
dell'attività. - Per i frammenti, segui le istruzioni riportate in Utilizzare l'associazione di viste nei frammenti per gonfiare un'istanza nel metodo
onCreateView()
del frammento.
- Per le attività, segui le istruzioni in Utilizzare l'associazione delle viste nelle attività per gonfiare un'istanza nel metodo
Modifica tutti i riferimenti alle viste in modo da utilizzare l'istanza della classe di associazione anziché le proprietà sintetiche:
// 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
Per scoprire di più, consulta la sezione Utilizzo nella guida all'associazione di visualizzazioni.
Consigliato per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Visualizza associazione
- Panoramica della libreria di pagine di destinazione
- Testare l'implementazione di Paging