我对使用这些模式的最佳方法感到困惑,例如验证 EditText
文本的最佳位置在哪里?在 Activity 或 ViewModel
中使用 observable
字段还是使用 bindingAdapter
?
最佳答案
如果您正在谈论验证文本输入是否正确或不正确,这是逻辑,应该在 ViewModel 中处理,可以观察输入更改,然后根据它们是正确还是错误不正确,发生了一些事情(例如红色下划线或绿色复选标记或其他东西)。
BindingAdapter 应该简单地用于将某些东西转换为其他东西。 例如: boolean 变量 -> 字符串 TRUE 或 FALSE。
文本输入的 ViewModel 逻辑示例:
val textInput = BehaviorSubject.create<String>()
val inputCorrect: LiveData<Boolean>
textInput
.switchMap { input -> textCorrect(input) }
.subscribe( inputCorrect.postValue(it) )
关于java - 何时使用 BindingAdapter,何时使用 MVVM 中的 liveData 或 observable 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54073145/