Java 何时使用BindingAdapter,何时在MVVM中使用liveData或observable字段?
我对使用这些模式的最佳方式感到困惑,例如,验证Java 何时使用BindingAdapter,何时在MVVM中使用liveData或observable字段?,java,android,design-patterns,mvvm,android-architecture-components,Java,Android,Design Patterns,Mvvm,Android Architecture Components,我对使用这些模式的最佳方式感到困惑,例如,验证EditTexttext的最佳位置在哪里?在活动或视图模型中,使用可观察的字段或使用bindingAdapter 如果您谈论的是验证文本输入是否正确,这是逻辑,应该在ViewModel中进行处理,在ViewModel中可以观察到输入更改,然后根据输入是否正确,会发生一些情况(如红色下划线或绿色复选标记或其他情况) BindingAdapter只应用于将某些内容转换为其他内容。 例如:布尔变量->字符串TRUE或FALSE 文本输入的ViewModel
EditText
text的最佳位置在哪里?在活动或视图模型中,使用可观察的字段或使用bindingAdapter
如果您谈论的是验证文本输入是否正确,这是逻辑,应该在ViewModel中进行处理,在ViewModel中可以观察到输入更改,然后根据输入是否正确,会发生一些情况(如红色下划线或绿色复选标记或其他情况)
BindingAdapter只应用于将某些内容转换为其他内容。
例如:布尔变量->字符串TRUE或FALSE
文本输入的ViewModel逻辑示例:
val textInput = BehaviorSubject.create<String>()
val inputCorrect: LiveData<Boolean>
textInput
.switchMap { input -> textCorrect(input) }
.subscribe( inputCorrect.postValue(it) )
val textInput=BehaviorSubject.create()
val inputCorrect:LiveData
文本输入
.switchMap{input->textCorrect(input)}
.subscribe(inputCorrect.postValue(it))