我有一个自定义视图,其中包含一个容器(如ConstraintLayout),内部有一个ImageView(svg)
当我点击它时,自定义视图会更改其颜色(有效/无效)。我的自定义视图实现了onTouchLister来更改状态
我想拥有一个自定义属性,并用它来查找我的自定义视图所处的状态。所以我创建了这个:
@InverseBindingMethods(InverseBindingMethod(type = CustomBoxImage::class, attribute = "cbi_is_selected"))
class CustomBoxImageSelectedBinding {
companion object {
@JvmStatic
@BindingAdapter("cbi_is_selected")
fun setcbi_is_selected(box: CustomBoxImage, text: Boolean) {
box.setActivationState(box)
}
@JvmStatic
@InverseBindingAdapter(attribute = "cbi_is_selected")
fun getcbi_is_selected(box: CustomBoxImage) : Boolean {
return box.getActivationState()
}
}
}
但是我得到了:
Could not find event 'cbi_is_selectedAttrChanged' on View type
在我使用的其他自定义视图中,我曾使用过编辑文本或微调器:textwatcher或onItemChange侦听器。
这里我确实尝试过onTouchListener,但是在实现后,由于适配器绑定中的onTouchListener,我的自定义视图不再跟踪onTouchListener。
我该如何解决?