Saya menggunakan data binding di proyek saya, dan saat menggunakan <layout>
dan <data>
di kelas data binding xml, sialnya itu tidak bekerja dengan benar.. tidak ada file yang digenerated sama sekali. Misalnya saya punya activity_main.xml.
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data> </data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</RelativeLayout>
</layout>
Sekarang jika saya menulis ActivityMainBinding
di aktivitas/fragmen saya, ini menunjukkan kesalahan bahwa kelas tidak tersedia. Tetapi setelah memasukkan <variable>
dalam file xml saya, ia dapat menghasilkan kelas ActivityMainBinding.
Adakah yang salah dengan konfigurasi project saya?
Android Studio : 2.1.3
Classpath : com.android.tools.build:gradle:2.1.3
minSdkVersion 16
targetSdkVersion 24
buildToolsVersion 24.0.0
Solusi
Saya tidak mendapatkan jawaban yang memuaskan. Demikian tips-tips yang merupakan rangkuman dari pengetahuan saya tentang data binding.
Tips untuk memecahkan permasalahan terkait data binding, ada baiknya jika Anda memperbarui Android Studio dan versi plugin Gradle ke yang terbaru. Karena saya tidak menghadapi banyak masalah setelah versi AS 3.2.
1. Pastikan konfigurasi data-binding enabled
Anda harus mengaktifkan data binding di file build.gradle. Jika tidak, tambahkan ini dan Sinkronkan.
android {
...
buildFeatures {
dataBinding true
}
}
2. Bersihkan project Anda
Bersihkan project Anda dengan dengan menu clean up project & clear cache, kemudian rebuild lagi dan selamat bekerja dengan auto saran pemanggilan asset xml via data binding.