I used to create DataBindingAdapter
for creating custom xml attributes in data binding.
object DataBindingAdapter {
@BindingAdapter("android:src")
fun setImageByRes(imageView: ImageView, @DrawableRes resId: Int) {
imageView.setImageResource(resId)
}
}
It was working well in Java. But not working in kotlin.
As I understand object in kotlin are similer to static method of Java. But its not working in data binding.
java.lang.IllegalStateException: Required DataBindingComponent is null in class FragmentBottomBarBinding. A BindingAdapter in acr.browser.lightning.utils.DataBindingAdapter is not static and requires an object to use, retrieved from the DataBindingComponent. If you don't use an inflation method taking a DataBindingComponent, use DataBindingUtil.setDefaultComponent or make all BindingAdapter methods static.
@JvmStatic
annotation onsetImageByRes
.