Поиск по списку (активность расширяет ListActivity) - PullRequest
1 голос
/ 19 августа 2011

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

String[] Customers = {"Alester","Lee","Broad","James"};
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, Customers));

  ListView lv = getListView();
  lv.setTextFilterEnabled(true); 

1 Ответ

3 голосов
/ 19 августа 2011

Поместите EditText где-нибудь, как в верхней части вашего listView, затем добавьте TextWatcher как:

    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) {
            _myAdapter.getFilter().filter(s);
        }
    };
    _filterText = (EditText) findViewById(R.id.search_box);
    _filterText.addTextChangedListener(filterTextWatcher);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...