2011-01-09 12 views
13

Im przy odrobinie strat na tym, jak tworzyć sekcje w ListView, gdy używasz zarówno Kursory i Custom SimpleCursorAdapter.SimpleCursorAdapter z sekcjami w Androidzie

Wiele dokumentów referencyjnych używających getView() itp. Lub tworzących kilka Adaptery i dodając nagłówki sekcji.

Ale to wszystko wydaje się być oparty na BaseAdapters, ListAdapters i ArrayAdapters itp

Czy ktoś uregulowanych coś podobnego wcześniej?

Jeśli nie, wszelkie wskazówki, jak to zrobić?

Dzięki Simon

Odpowiedz

9

Śledziłem this samouczek i wyszło całkiem dobrze. Kod pozwala na użycie dowolnego rodzaju Adapter, więc działa świetnie z ArrayAdapter lub CursorAdapter.

+0

Dzięki za to. Musiałem zawinąć głowę wokół faktu, że potrzebowałem używać SeparatedListAdapter, zasadniczo jako wrappera do moich istniejących niestandardowych adapterów. – Simon

9

Jeśli używasz CursorAdapter, możesz użyć mojego SectionCursorAdapter.

+0

Pozdrawiam, działało to doskonale z SimpleCursorAdapters, aby mieć podzielone na alfabetycznie sekcje w moim ListView. To było o wiele więcej pracy, niż myślałem, myślę, że SimpleCursorAdapter zepsuł mnie w swojej prostocie! – georgiecasey

+0

To nie jest wydajne dla bazy danych SimpleCursorAdapter z długą listą pozycji, ponieważ musisz przetestować wszystkie elementy, aby obliczyć nagłówek. Jeśli kursor zostanie zwrócony z zapytaniem GROUP BY, znacznie lepiej jest porównać nagłówek (zgrupowaną wartość) bieżącego elementu z poprzednim i następnym elementem, aby określić, czy mamy nową sekcję, czy nie. –

+0

Możesz chcieć użyć AlphabetIndexer do obliczania przekrojów. – ycagri

2

Kolejny świetny, który jest w fazie rozwoju jest SectionCursorAdapter i obsługuje gradle. Jego twórca obiecał również, że zostanie zaktualizowany, aby obsługiwać RecyclerView po jego oficjalnym wydaniu. Możesz również sprawdzić blog o tym pod adresem ToastDroid

Powiązane problemy