Ekstensi Android Kotlin tidak digunakan lagi, yang berarti menggunakan Kotlin sintetis untuk view binding tidak lagi didukung. Jika aplikasi Anda menggunakan Kotlin untuk view binding, gunakan panduan ini untuk bermigrasi ke view binding Jetpack.
Jika aplikasi Anda belum menggunakan sintetis Kotlin untuk view binding, lihat View binding untuk informasi penggunaan dasar.
Mengupdate file Gradle
Seperti Ekstensi Android, view binding Jetpack diaktifkan di modul demi modul
layanan. Untuk setiap modul yang menggunakan view binding, tetapkan build viewBinding
opsi ke true
dalam file build.gradle
level modul:
Groovy
android { ... buildFeatures { viewBinding true } }
Kotlin
android { ... buildFeatures { viewBinding = true } }
Jika aplikasi Anda tidak menggunakan Parcelable
hapus baris yang mengaktifkan Ekstensi Android Kotlin:
Groovy
plugins { id 'kotlin-android-extensions' }
Kotlin
plugins { kotlin("android.extensions") }
Untuk mempelajari lebih lanjut cara mengaktifkan view binding dalam modul, lihat Penyiapan petunjuk khusus.
Mengupdate class aktivitas dan fragmen
Dengan Jetpack view binding, class binding dibuat untuk setiap file tata letak XML
yang terdapat di dalam modul. Nama class binding ini adalah nama XML
dalam Pascal case dengan kata Binding ditambahkan di akhir. Misalnya, jika
nama file tata letak adalah result_profile.xml
, nama file yang dihasilkan
class binding adalah ResultProfileBinding
.
Untuk menggunakan class binding, bukan properti sintetis, tampilan referensi, ubah aktivitas dan class fragmen dengan melakukan berikut ini:
Hapus semua impor dari
kotlinx.android.synthetic
.Meng-inflate instance class binding yang dihasilkan untuk aktivitas atau fragmen yang akan digunakan.
- Untuk aktivitas, ikuti petunjuk di Menggunakan view binding di
aktivitas untuk meng-inflate
di instance aktivitas
Metode
onCreate()
. - Untuk fragmen, ikuti petunjuk di Menggunakan view binding di
fragmen untuk meng-inflate instance
dalam elemen
onCreateView()
.
- Untuk aktivitas, ikuti petunjuk di Menggunakan view binding di
aktivitas untuk meng-inflate
di instance aktivitas
Metode
Mengubah semua referensi tampilan agar menggunakan instance class binding, bukan sifat sintetis:
// 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
Untuk mempelajari lebih lanjut, lihat bagian Penggunaan di panduan view binding.
Direkomendasikan untuk Anda
- Catatan: teks link ditampilkan saat JavaScript nonaktif
- View binding
- Ringkasan library paging
- Menguji implementasi Paging