我想使用listView
框并使用适配器EditText
功能过滤我的getFilter()
。它工作得很好,直到我在文本框中放置一个空格字符。
编辑:这是一个 SimpleAdapter而不是ArrayAdapter
如果我的列表中包含以下字词:{“Apple”,“Banana”,“Red Apple”} 如果我输入“apple”,它将返回包含苹果字样的所有项目(Apple和Red Apple)。 如果我输入“apple”,它将不会返回任何内容。
有什么想法吗?这是代码:
searchBox = (EditText) findViewById(R.id.searchBox);
searchBox.addTextChangedListener(filterTextWatcher);
和
private TextWatcher filterTextWatcher = new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
myAdapter.getFilter().filter(s.toString());
}
};
答案 0 :(得分:2)
尝试使用:
myAdapter.getFilter().filter(s.toString().trim());
答案 1 :(得分:2)