как да промените фона на бутона, когато целият текст за редактиране е попълнен

Моето приложение има седем 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.if дължината на целия edittext е по-голяма от 1, тогава променете цвета на бутона. Ако проработи ... проверете отговора ми

person Ajay Chauhan    schedule 09.10.2016