我对使用这些模式的最佳方法感到困惑,例如,验证EditText
文本的最佳位置在哪里?在活动中还是在ViewModel
中使用observable
字段还是使用bindingAdapter
中?
答案 0 :(得分:1)
如果您要谈论验证文本输入是正确还是不正确,那么这是逻辑,应该在ViewModel中处理。不正确,会发生某些事情(例如红色下划线或绿色复选标记或其他)。
BindingAdapter 应该仅用于将某些东西转换成其他东西。 例如:布尔变量->字符串TRUE或FALSE。
用于文本输入的ViewModel Logic示例:
val textInput = BehaviorSubject.create<String>()
val inputCorrect: LiveData<Boolean>
textInput
.switchMap { input -> textCorrect(input) }
.subscribe( inputCorrect.postValue(it) )