我创建的类允许按钮在任何一个字段中输入。如何修改它,以便只有当用户在两个EditText字段中输入内容时,才启用该按钮。
class BtnEnabler(){
constructor(type:EditText, btn:Button):this(){
btn.isEnabled = false
type.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(p0: Editable?) {
}
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
})
fun EditText.afterTextChanged(afterTextChanged: (String) -> Unit) {
this.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
override fun afterTextChanged(editable: Editable?) {
afterTextChanged.invoke(editable.toString())
}
})
}
type.afterTextChanged {btn.isEnabled = true}
}
}
BtnEnabler(byear, sub_btn)
BtnEnabler(bday, sub_btn)
此外,当用户删除所有输入文本时,是否可以再次禁用该按钮?