Удаление элементов из Android ListView / ArrayAdapter не работает после фильтрации текста - PullRequest
2 голосов
/ 10 июля 2010

У меня есть Android ListView, поддерживаемый ArrayAdapter. Когда пользователь нажимает на элемент в списке, этот элемент удаляется. Это все работает нормально, вы можете нажимать на каждый элемент, пока не останется ничего.

Однако все идет не так, как только происходит фильтрация текста. После того как список был отфильтрован один раз, даже если этот фильтр очищен, все последующие вызовы remove (Object) на адаптере не удаляют элемент из видимого списка. Я пытался вызвать ListView.clearTextFilter () перед удалением элемента, вызывая его после удаления элемента и не вызывая его все. Там нет разницы.

Я просмотрел исходный код ArrayAdapter.java, и кажется, что после настройки фильтра адаптер использует одну коллекцию для ответа на запросы, но обновляет другую. Я не вижу очевидного способа заставить его изменить свое поведение. Это ошибка или я что-то упустил?

1 Ответ

1 голос
/ 09 августа 2010

Кажется, это ошибка. Я сообщил об этом здесь .

...