Как сделать кнопку неактивной?

Мне нужно чтобы кнопка для отправки запроса на сервер была неактивна, пока в 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) {}
        })
→ Ссылка