問題:EditText雙向綁定String類型沒有什么問題盗誊,但是當(dāng)綁定一個Double的時(shí)候甩栈,用戶體驗(yàn)非常不好逝钥,一個是空的時(shí)候屑那,一個是小數(shù)點(diǎn)的處理,光標(biāo)會到處飄艘款。
解決:直接上代碼
// 綁到頁面的是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的時(shí)候重寫get()方法去獲取哗咆。