我需要在 Android 应用程序中创建一个Login Activity
,使用数据绑定和 Kotlin ViewModel
。我想根据EditText
字段的内容启用/禁用按钮。我试图实现的预期行为是,仅当EditText
字段都不为空时,才应启用按钮。
第 1 步:在 ViewModel
声明
var isEnabled : ObservableBoolean? = null
并在init
块中初始化它。
第 2 步:在文本更改侦听器中设置isEnabled
的值,例如
isEnabled?.set(!isLoginFormValid())
第 3 步:在文件中绑定变量xml
例如
android:enabled="@{viewmodel.isEnabled}"
在 ViewModel 中添加一个布尔 MediatorLiveData,并将其绑定到按钮的启用属性。
您应该具有双向绑定到EditTexts的MutableLiveData字段。 将这些作为 MutableLiveData 作为源添加到布尔 MediatorLiveData 中,以便它可以在用户输入值时观察对 EditTexts 的更改。
在 MediatorLiveData 观察器中添加任何逻辑,以将其值设置为 true/false,具体取决于您想要的任何逻辑(例如,EditTexts 的值不应为 null 或空(
登录按钮的单击方法中进行验证。
if(edittext_one!=null({然后在这里为 onclick } 编写代码
像这样,您可以使用 if else 语句在编辑文本上进行尽可能多的验证。我希望这有所帮助