как изменить фон кнопки, когда весь текст редактирования заполнен

В моем приложении есть семь editTexts и одна кнопка под ними. Я хочу, чтобы кнопка меняла свой фон, когда пользователь заполнил весь editText числовыми значениями (int или double, кроме нуля).

Я думаю, что мне следует использовать OnTouchChangeListener, но я не уверен, как это сделать, какой-нибудь совет?


person farshid83    schedule 08.10.2016    source источник
comment
ты пробовал textchangelistener?   -  person Mohammed Atif    schedule 08.10.2016


Ответы (2)


Добавьте addTextChangedListener в свой EditText.

TextWatcher textWatcher = 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) {
        // Add your logic here
    }

    @Override
    public void afterTextChanged(Editable s) {

    }
};

editText.addTextChangedListener(textWatcher);

// Remember to remove when whatever actions required have completed.
editText.removeTextChangedListener(textWatcher);

Предполагая, что все ваши представления EditText требуют одинаковой логики, создайте один объект TextWatcher и привяжите прослушиватель к каждому из них, как указано выше. Вы также можете реализовать это в своем классе:

class MyClass implements TextWatcher

И добавьте методы переопределения в класс и напишите код в методе onTextChanged().

person mwieczorek    schedule 08.10.2016

Поместите строку внутри вашего

 android:digits="123456789"

И в java-файле проверьте длину edittext. Если длина всего edittext больше 1, измените цвет кнопки. Если сработало ... проверьте мой ответ

person Ajay Chauhan    schedule 09.10.2016