Как отключить кнопку для пользователя, пока не активен editText?

Я хочу, чтобы пользователь не мог нажимать кнопку, пока он не «выйдет» или не щелкнет от EditText.

Например, кнопка будет там, но когда пользователь введет текст в EditText, она будет недоступна и снова будет доступна для щелчка только тогда, когда пользователь покинет editText.

Надеюсь, мой вопрос понятен. Как я могу это сделать?


person DeathVenom    schedule 15.05.2020    source источник


Ответы (3)


Поведение вашей кнопки зависит от фокуса редактируемого текста, поэтому вы можете использовать

 mEditText.setOnFocusChangeListener(new OnFocusChangeListener() {          
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
               mButton.setEnabled(false)
            } else {
               mButton.setEnabled(true)
            }
        }
    });

если расширен, учтите, что вы можете решить всего одной строкой

mButton.setEnabled(!hasFocus)
person appersiano    schedule 15.05.2020
comment
si ok, tutto giusto, ma al просто comunque non c'è un * - person Nicola Gallazzi; 13.11.2020

Установите OnFocusChangeListener в свой EditText:

    editView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
           button.setEnabled(!hasFocus);
        }
    });
person Rediska    schedule 15.05.2020

Используйте setOnFocusChangeListener и переопределите onFocusChange. Затем используйте кнопку button.setEnabled

person Mayank Gupta    schedule 15.05.2020