如何在kotlin android中使用viewmodel和数据绑定启用/禁用基于所有editetext的按钮不是空的

如何在kotlin android中使用viewmodel和数据绑定启用/禁用基于所有editetext的按钮不是空的,android,mvvm,kotlin,data-binding,Android,Mvvm,Kotlin,Data Binding,我需要在Android应用程序中创建一个登录活动,使用ViewModel和Kotlin进行数据绑定。我想根据EditText字段的内容启用/禁用按钮。我试图实现的预期行为是,只有当EditText字段均为空时,按钮才应启用。您可以在登录按钮的单击方法中进行验证。例如:- 如果(edittext_one!=null){那么在这里为onclick}执行代码 这样,您可以使用if-else语句在edittext上进行任意多的验证。我希望这有助于在ViewModel中添加布尔中介LiveData,并将其

我需要在Android应用程序中创建一个
登录活动
,使用
ViewModel
Kotlin进行数据绑定。我想根据
EditText
字段的内容启用/禁用按钮。我试图实现的预期行为是,只有当
EditText
字段均为空时,按钮才应启用。

您可以在登录按钮的单击方法中进行验证。例如:-

如果(edittext_one!=null){那么在这里为onclick}执行代码


这样,您可以使用if-else语句在edittext上进行任意多的验证。我希望这有助于在ViewModel中添加布尔中介LiveData,并将其绑定到按钮的enabled属性

您应该具有双向绑定到EditText的可变LiveData字段。将这些作为MutableLiveData作为源添加到boolean MediatorLiveData中,以便它可以在用户输入值时观察EditText的更改


在MediatorLiveData Observators中添加任何逻辑,将其值设置为true/false,具体取决于所需的任何逻辑(例如,EditText的值不应为null或空)

步骤1:在
视图模型中

var已启用:可观察到的对象?=null
并在
init
块中初始化它

步骤2:在文本中设置
的值

isEnabled?.set(!isLoginFormValid())

步骤3:绑定
xml
文件中的变量

android:enabled=“@{viewmodel.isEnabled}”