根据我们的结构,我使用带有数据绑定的MVVM体系结构。它的工作正常,我正在创建登录页面。我想在点击提交按钮时在Editext
中设置错误,因此我在视图模型类-
public boolean isEmailAndPasswordValid(String email, String password) {
// validate email and password
if (TextUtils.isEmpty(email)) {
return false;
}
if (!CommonUtils.isEmailValid(email)) {
return false;
}
if (TextUtils.isEmpty(password)) {
return false;
}
return true;
}
现在我想在Activity
类内存在id的登录按钮单击时设置错误,我如何在viewmodel类内获取视图id。我认为在viewmodel类中传递绑定对象将是一个坏主意,那么我该如何实现呢?
答案 0 :(得分:0)
您可以使用LiveData,而不是从viewmodel类中的isEmailAndPasswordValid方法返回true或false,而是可以将值发布到实时数据中。
因此,您可以执行myLiveData.postValue(true)或myLiveData.postValue(false)而不是返回true或false。这样,您可以在视图中观察liveData,一旦实时数据值更改,就可以相应地更改UI。有关更多信息,请查看https://developer.android.com/topic/libraries/architecture/livedata
希望有帮助! :)