Ekstensi Android Kotlin tidak digunakan lagi, yang berarti penggunaan sintetis Kotlin untuk view binding tidak lagi didukung. Jika aplikasi Anda menggunakan sintetis 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 mengetahui informasi penggunaan dasar.
Mengupdate file Gradle
Seperti Ekstensi Android, view binding Jetpack diaktifkan pada dasar
modul demi modul. Untuk setiap modul yang menggunakan view binding, tetapkan opsi build viewBinding
ke true
dalam file build.gradle
level modul:
Groovy
android { ... buildFeatures { viewBinding true } }
Kotlin
android { ... buildFeatures { viewBinding = true } }
Jika aplikasi Anda tidak menggunakan fitur 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 Petunjuk penyiapan.
Mengupdate class aktivitas dan fragmen
Dengan view binding Jetpack, class binding akan dihasilkan untuk setiap file tata letak XML
yang dimuat modul. Nama class binding ini adalah nama file XML
dalam kasus Pascal dengan kata Binding ditambahkan di bagian akhirnya. Misalnya, jika
nama file tata letak adalah result_profile.xml
, nama class binding
yang dihasilkan adalah ResultProfileBinding
.
Untuk menggunakan class binding yang dihasilkan, bukan properti sintetis, untuk mereferensikan tampilan, ubah class aktivitas dan fragmen Anda dengan melakukan hal berikut:
Hapus semua impor dari
kotlinx.android.synthetic
.Meng-inflate instance class binding yang dihasilkan untuk digunakan oleh aktivitas atau fragmen.
- Untuk aktivitas, ikuti petunjuk dalam Menggunakan view binding dalam
aktivitas untuk meng-inflate
instance dalam metode
onCreate()
aktivitas Anda. - Untuk fragmen, ikuti petunjuk dalam Menggunakan view binding di
fragmen untuk meng-inflate instance
dalam metode
onCreateView()
fragmen.
- Untuk aktivitas, ikuti petunjuk dalam Menggunakan view binding dalam
aktivitas untuk meng-inflate
instance dalam metode
Ubah semua referensi tampilan untuk menggunakan instance class binding, bukan properti 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