Solusi Masalah "Custom view CustomView is not using the 2- or 3-argument View constructors; XML attributes will not work"

Ketika saya membuat view sendiri atau disebut custom view, lalu saya pasang di XML layout, ketika project di-Run, aplikasi tidak bisa dijalankan. Tiba-tiba muncul pesan di bawah ini di desainer layout.

Custom view CustomView is not using the 2- or 3-argument View constructors; XML attributes will not work

Hal ini muncul karena untuk membuat custom view, harus ada 3 constructor yang dideklarasikan di dalam kelasnya.

public CustomView(Context context) {
super(context);
init(context);
}

public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}

public CustomView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init(context);
}

private void init(Context context) {
// Tulis kode muat awal anda di sini
}

Fungsi init() adalah tempat untuk menulis kode yang akan dijalankan ketika ketiga constructor dipanggil oleh sistem. Daripada pada harus menulis kode muat awal di masing-masing ketiga constructor, lebih baik ketiga constructor memanggil fungsi init().

comments powered by Disqus