Фильтр для Android ListView - Пробел

Я хочу отфильтровать свой 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());
}
};
5
задан dakshbhatt21 18 July 2013 в 13:16
поделиться