Созданный мною класс включает кнопку для ввода в любое поле.Как я могу изменить ее так, чтобы кнопка была включена только тогда, когда пользователь вводил что-то в оба поля 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)
Кроме того, можно ли снова отключить кнопку, когда пользователь удаляет весь введенный текст?