我有一个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());
}
};
健康)状况:
- 我有 10 个项目
ListView
。
问题:
- 当我第一次输入第一个字符时,为什么在 w 中
watcherAdapter.getCount()
返回10
(作为初始值)ListVie
而不是返回的过滤结果计数?watcherAdapter.getCount(
) 中显示的结果似乎迟到了ListView
。 "No Result"
当我在ListView
上键入时没有匹配结果时,我如何实现显示EditText
?