adapter = new ArrayAdapter<String(getApplicationContext(),android.R.layout.simple_list_item_multiple_choice,contactList);
setListAdapter(adapter);
в верхней части моего ListActivity есть EditText, который используется для фильтрации списка контактов. Но когда я использую код ниже для фильтрации.
search.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
adapter.getFilter().filter(arg0);
}
}
Отфильтровывается только строковое значение, связанное с каждым элементом, но флажок, связанный с ним, остается прежним.
Пример. Скажем, у меня есть 3 контакта "A", "B" и "C". когда я открываю этот ListActivity и выбираю «A». Теперь, когда я ищу контакт «C» (введя «C» в поле поиска), контакты получают фильтры, и я вижу контакт «C» вверху. Но это показывает, что он уже был выбран. На самом деле это не так ... потому что флажок, связанный с "C", никогда не замыкался ... и текущий флажок, кажется, связан с "C", имеет контакт "A".
Что я должен сделать, чтобы синхронизировать фильтрацию?
м .png