Android listview edittext фильтр пробел кнопка? - PullRequest
1 голос
/ 04 января 2012

Я создал фильтр списка, в котором пользователь будет вводить данные через текст редактирования, а результаты фильтруются в виде списка.

Код работает хорошо, но когда я нажимаю кнопку пробела, результаты в списке исчезают. Как я могу добавить пробел в поиске ввода без отклонения содержимого списка просмотра?

Вот мой текущий код:

myListview.setTextFilterEnabled(true);

    edNearBy.addTextChangedListener(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  

            NearByActivity.this.aa.getFilter().filter(s);

        }
    });

Ответы [ 2 ]

3 голосов
/ 04 января 2012

сделать так:

public void afterTextChanged(Editable s) {
    String st = s.toString().trim();            
    NearByActivity.this.aa.getFilter().filter(st);
}

, но не выполнять фильтрацию таким образом, здесь правильный .

1 голос
/ 28 ноября 2012

Я нашел решение:

String[] hi={"Hi there", "Hello", "Bye"};

adapter = new ArrayAdapter<String>(slownik.this, R.layout.list_item, R.id.word_name,hi);
lv.setAdapter(adapter);

inputSearch.addTextChangedListener(new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

        lv.setTextFilterEnabled(true);
        lv.setFilterText(s.toString().trim());
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {


    }

    @Override
    public void afterTextChanged(Editable s) {
        slownik.this.adapter.getFilter().filter(s.toString().trim());
        if(s.length()==0){
            lv.clearTextFilter();
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...