2016-07-01 2 views
0

Я использую EditText для фильтрации некоторых значений в ListView.EditText changedListener не набирается

Работает до сих пор, но у меня есть одна проблема. Первый мой код:

final EditText mEditText = (EditText) this.findViewById(R.id.filterEditText); 
mEditText.addTextChangedListener(new TextWatcher() { 
    @Override 
    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {} 

    @Override 
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { } 

    @Override 
    public void afterTextChanged(Editable editable) { 
     String mFilter = editable.toString(); 
     mListViewUpdater.setFilter(mFilter); 
     Log.d("Editable", editable.toString()); 
    } 
} 

Метод afterTextChanged() вызывается, когда я печатаю что-то и фильтр применяется и работает.

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

Есть ли способ показать все значения eevn, если EditText пуст, но клавиатура не рухнула?

С уважением!

+0

Возможный дубликат [ключевое событие удаления Android EditText (backspace)] (http://stackoverflow.com/questions/4886858/android-edittext-deletebackspace-key-event) – nicobatu

ответ

-1

Поместите весь свой код в метод onTextChanged() вместо метода afterTextChanged().

+0

Я сделал это onTextChanged Method, и он сработал. –

+0

Это решение действительно работало так, как я хотел. – cptKopernikus

Смежные вопросы