【发布时间】:2020-06-01 04:04:07
【问题描述】:
我有模特
data class RegisterPostDataWithPwdCheck(
var phone_number: String?,
var name: String?,
var password: String?,
var secondPassword: String?)
还有一个 ViewModel
class SignUpViewModel(application: Application) : BaseViewModel(application){
val registerPostData = MutableLiveData<RegisterPostDataWithPwdCheck>...
fun checkPassword(){}...}
我也有一个视图,里面有这段代码
viewModel.registerPostData.observe(viewLifecycleOwner, Observer {
viewModel.checkPassword()
})
在 XML 中有两个感兴趣的字段
<EditText
android:id="@+id/edittext_sign_up_password"
android:text="@={view_model.registerPostData.password}" />
<EditText
android:id="@+id/edittext_sign_up_second_pw"
android:text="@={view_model.registerPostData.secondPassword}" />
到目前为止,我所理解的是,只有当整个 RegisterPostDataWithPwdCheck 对象发生变化并且我不希望这样时,才会调用 .observe。我希望在任何参数更改时触发它,以便我可以调用fun checkPassword(){} 以查看两个字段是否匹配。这可能吗?
【问题讨论】:
-
您也可以使用编辑文本 onChangeText 侦听器并检查密码并将其保存,以便您可以使用此链接。 stackoverflow.com/questions/33798426/…
标签: android kotlin mvvm observable android-databinding