Как да деактивирам бутон за потребителя, докато 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)
            }
        }
    });

if е разширен, помислете, че можете да решите само в един ред

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