【问题标题】:Android MVVM databinding set error in editext issue编辑文本问题中的 Android MVVM 数据绑定集错误
【发布时间】:2018-11-30 13:20:36
【问题描述】:

根据我们的结构,我正在使用带有数据绑定的 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;
    }

现在我想在单击登录按钮时设置错误,其中 id 存在于 Activity 类中,我如何获取 viewmodel 类中的视图 id。我认为在 viewmodel 类中传递绑定对象是个坏主意,那么我该如何实现呢?

【问题讨论】:

    标签: android mvvm data-binding


    【解决方案1】:

    您可以使用 LiveData,而不是从 viewmodel 类中的 isEmailAndPasswordValid 方法返回 true 或 false,而是可以将值发布到实时数据。

    因此,不要执行 return true 或 return false,而是执行 myLiveData.postValue(true) 或 myLiveData.postValue(false)。这样,您可以在视图中观察此 liveData,一旦实时数据值更改,您可以相应地更改 UI。更多信息请查看https://developer.android.com/topic/libraries/architecture/livedata

    希望对您有所帮助! :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多