问题: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()方法去获取。code