Как сделать кнопку неактивной?
Мне нужно чтобы кнопка для отправки запроса на сервер была неактивна, пока в EditText не будет нужного количества цифр (от 6 до 9).
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Можно сделать простую проверку на кол-во символов. Не знаю на каком языке вы пишете поэтому:
Java
int length = editText.getText().length();
myButton.setEnabled(length > 6 && length < 9);
Kotlin
val length: Int = editText.getText().length()
myButton.setEnabled(length in 6..9)
так же можно добавить слушатель в поле для ввода:
Java
ed_caption.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
myButton.setEnabled(s.length() > 6 && s.length() < 9);
}
@Override
public void afterTextChanged(Editable s) {
}
});
Kotlin
ed_caption.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
myButton.setEnabled(s.length in 7..8)
}
override fun afterTextChanged(s: Editable) {}
})