Cara Penerapan ViewBinding Pengganti Method findViewById()

LATAR BELAKANG
View Binding adalah sebuah fitur yang hadir untuk mempermudah kode yang berinteraksi dengan tampilan. Pada pattern MVC sederhana seperti yang penulis terapkan maka View Binding ini sangat membantu untuk mempermudah kontrol terhadap tampilan dari class Controller. Setelah diaktifkan dalam sebuah projek, View Binding akan menghasilkan class binding untuk setiap file XML yang ada dalam projek tersebut. Class binding berisi referensi langsung ke semua tampilan yang memiliki ID di file XML yang terkait.
PEMBAHASAN
Saat biasanya dengan metode findViewById() kontrol terhadap elemen tampilan dilakukan di kelas Activity atau Fragment yang sebetulnya kelas ini harusnya kosong (tidak ada kode tambahan) dengan View Binding ini hanya perlu kirim 1 objek View Binding saja bisa untuk kontrol elemen tampilan dari class Controller tanpa mengalami kemungkinan error Null Object References. Hal ini berbeda dengan metode findViewById() yang kadang menghasilkan Null Object References.
ViewBinding dapat digunakan dengan mudah tambah menginstal library atau plugin tambahan karena sudah ada pada paket SDK. Berikut cara menggunakan ViewBinding :
Langkah 1
Buka build.gradle aplikasi letaknya ada pada folder app. Tambahkan kode untuk mengaktifkannya pada bagian android{ } contohnya menjadi seperti dibawah ini :
android {
//tambahkan kode ini
viewBinding {
enabled = true
}
}
Langkah 2
Rebuild projek, setelah selesai rebuild maka secara otomatis sudah dibuatkan file kelas java/kotlin hasil generate dari layout yang ada. Hanya saja file ini disembunyikan sehingga tidak terlihat pada package projek.
Langkah 3
Ganti setContentView dengan viewBinding. Caranya buat objek ViewBinding dari layout dengan cara memanggil kelasnya. Nama kelas hasil generate menggunakan aturan Capitalize Each Word contohnya seperti ini :
- activity_main.xml menjadi ActivityMainBinding
- view_login_dialog.xml menjadi ViewActivityDialogBinding
contoh pada ActivityMain:
public class ViewMainActivity extends AppCompatActivity {
private ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(LayoutInflater.from(this));
setContentView(binding.getRoot());
}
}
Langkah 4
Cara akses elemennya sekarang jadi mudah yaitu dengan cara objek_binding.id_elemen.nama_method.
Contoh set tulisan pada elemen TextView :- ojbek_binding → binding
- id_binding → nama_mhs
- nama_method → setText()
binding.nama_mhs.setText("Tata Adi Nugroho")
semua elemen yang memiliki id dapat diakses dengan cara yang sama.
Langkah 5
Run & Build lihat hasilnya.
KESIMPULAN
ViewBinding membuat akses elemen menjadi lebih mudah cukup inisiasi 1 kali dapat mengakses semua elemen pada layout. Tidak seperti findViewById() yang harus inisiasi setiap elemen yang berbeda. Jika mengalami masalah dan ada pertanyaan silakan tanyakan pada penulis melalui sosial media penulis melalui widget pada header situs ini yang.
Contoh projek bisa melihat pada github LoadingDialogExample dibawah ini :Loading Dialog Example
Gabung dalam percakapan