I have binding adapter that set editText to values 0-99. But I wish to set this params from the layout, how can I do this?
app:rangeFixer="@={viewModel.times}"
@BindingAdapter("app:rangeFixer")
fun AppCompatEditText.rangeFixer(value: String) {
setSelection(text.toString().length)
if (text.toString() == value) {
return
}
setText(value)
}
@InverseBindingAdapter(attribute = "app:rangeFixer", event =
"android:textAttrChanged")
fun AppCompatEditText.rangeFixer(): String {
var ret = ""
//1 and 99 set from layout
text.toString().toIntOrNull()?.let {
ret = if (it < 1) "1"
else if (it > 99) "99"
else text.toString()
}
return ret
}