У меня есть ListView
и EditText
. Я реализую addTextChangedListener
на EditText
, чтобы фильтровать содержимое ListView
.
leftList.setTextFilterEnabled(true);
et_search.addTextChangedListener(filterTextWatcher);
и затем TextWatcher
:
private TextWatcher filterTextWatcher = new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (watcherAdapter==null) {
return;
}
watcherAdapter.getFilter().filter(s);
Log.e(TAG, "OnTextChange: " + s + " start: " + start +
" before: " + before + " count: " + count + " adapter: " +
watcherAdapter.getCount());
}
};
Условие:
ListView
. Вопрос:
watcherAdapter.getCount()
возвращает 10
(как начальный) в ListVie
w вместо возвращаемого количества результатов фильтра? watcherAdapter.getCount(
) кажется опозданием на один клик для отображаемого результата в ListView
. "No Result"
в ListView
, когда нет результатов совпадения при наборе текста EditText
?