问题:EditText双向绑定String类型没有什么问题,但是当绑定一个Double的时候,用户体验非常不好,一个是空的时候,一个是小数点的处理,光标会到处飘。
解决:直接上代码
// 绑到页面的是actualMoneyDesc这个string,序列化的是double
@get:Bindable
var actualMoneyDesc: String? = null
set(value) {
field = value
notifyPropertyChanged(BR.actualMoneyDesc)
}
var actualMoney: Double? = actualMoneyDesc?.toDoubleOrNull()
get() {
field = actualMoneyDesc?.toDoubleOrNull()
return field
}
绑定在UI上还是用正常的String类型,在使用Double的时候重写get()方法去获取。