我有一個ListView
和一個EditText
。我實現了addTextChangedListener
EditText
到過濾器的ListView
內容。如何在可篩選的ListView中顯示「No Result」?
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
10個項目。
問:
- 當我第一次輸入第一個字符,爲什麼
watcherAdapter.getCount()
回報10
(初始)在ListVie
瓦特,而不是返回的過濾結果算什麼?watcherAdapter.getCount(
)在ListView
的顯示結果中似乎遲了一點。 - 當我在
EditText
上輸入時沒有匹配結果,我如何在ListView
中顯示"No Result"
?
我最後用的是做我的自定義搜索過濾器的唯一解決辦法....拆分的話,它們標記化,如果匹配的把它放在陣列適配器列表。它可以按我的需要工作。 – rxlky 2011-10-19 07:42:27