2013-04-09 3 views
0

Я хочу реализовать поиск Текст в listView,Невидимый список элементов списка

Загрузите список элементов с сервера.

В настоящее время, каждый раз, что пользователь вводит что-то в SearchText я удалить все элементы в ListView и добавить их снова в ListView (если они содержат пользовательский введенную строку)

Однако это занимает много времени, чтобы удалить весь listView, а затем запустите перезагрузку всех элементов, чтобы снова перечислить

Поэтому я хочу, чтобы цикл по всему спискуView и невидимым несогласованным строкам, возможно ли это? (что-то вроде View.GONE)

например, я хочу, чтобы невидимая строка k-го элемента в спискеView.

Кроме того, я хочу изменить эту строку товара на видимую.

Большое спасибо

+0

, что о проведении локальной копии объекта, который вы получили от сервера и обновлять адаптер? .. –

+0

я поддерживайте его, однако, если у меня есть около 100 элементов в listView, для этого достаточно удалить все из них, и когда пользователь не хочет искать (текст поиска пуст), чтобы добавить их снова в listView, я могу только невидимый рядовые ряды? –

+0

Может быть, я могу использовать: viewItem = listView.getChildAt (position); viewItem.setVisiblity (View.GONE); ?? –

ответ

0

вам не нужно делать вид невидимым. Возьмите EdiText наверху. Затем у вас есть фильтр для вашего списка и отображения элементов в списке. вызвать метод notifydatasetchanged для обновления списка.

Пример поиска по списку. http://www.androidhive.info/2012/09/android-adding-search-functionality-to-listview/

Пример ListView с пользовательским фильтром можно найти в ссылке ниже

Search in ListView with EditText

+0

спасибо за ответ, однако я не расширяю ArrayAdapter, я нахожу BaseAdapter, поэтому я не могу использовать метод фильтра ... –

+0

@AdirRahamim вы можете расширить arrayadapter вместо базового адаптера, а затем выполнить поиск в списке. – Raghunandan

+0

привет, в ArrayAdapter я не могу создать пользовательский конструктор, поэтому я выбрал расширение BaseAdapter –

Смежные вопросы