Я хочу отфильтровать свой listView
, используя поле EditText
и функцию адаптера getFilter ()
. Он работает нормально, пока я не поставлю пробел в текстовое поле.
Изменить: это SimpleAdapter, а не ArrayAdapter
Если мой список содержит эти слова: {«Яблоко», «Банан», «Красное яблоко»} Если я наберу «яблоко», он вернет все элементы, содержащие слово «яблоко» (Apple и Red 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());
}
};