Android MVVM数据绑定设置在editext问题中出错

时间:2018-11-30 13:20:37

标签: android mvvm data-binding

根据我们的结构,我使用带有数据绑定的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类中传递绑定对象将是一个坏主意,那么我该如何实现呢?

1 个答案:

答案 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

希望有帮助! :)