如何解决自定义视图中的双向数据绑定问题
我正在尝试对具有自定义视图的自定义视图使用双向数据绑定。
这是我现在拥有的:
@BindingAdapter("setValue")
fun setTextValue(comboField: ComboboxField,value: String?) {
if (value != comboField.value.text.toString()) comboField.value.setText(value)
}
@InverseBindingAdapter(attribute = "setValue",event = "setValueAttrChanged")
fun getTextValue(comboField: ComboboxField): String? {
return comboField.value.text.toString()
}
@InverseBindingMethods(InverseBindingMethod(type = ComboInputBinding::class,attribute = "c",event = "setValueAttrChanged"))
class ComboInputBinding {
@BindingAdapter("setValueAttrChanged")
fun setListener(comboField: ComboboxField,listener: InverseBindingListener) {
comboField.value.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(p0: Editable?) {
listener.onChange()
}
override fun beforeTextChanged(p0: CharSequence?,p1: Int,p2: Int,p3: Int) {}
override fun onTextChanged(p0: CharSequence?,p3: Int) {}
})
}
}
上课是我的自定义视图。
<common.component.ComboboxField
android:id="@+id/orgaos"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:setValue="@={viewModel.mutableStringLiveData}"
app:hint="@string/emission_orgao" />
但是我得到了
java.lang.String callbackArg_0 = mBindingComponent.null.getTextValue(orgaos);
我想念什么吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。