2011-01-09 3 views
13

커서와 사용자 지정 SimpleCursorAdapter를 모두 사용하는 경우 ListView에서 섹션을 만드는 방법에 대해 약간의 손실이 있습니다.Android에서 섹션이있는 SimpleCursorAdapter

많은 문서는 getView() 등을 사용하여 참조하거나 여러 어댑터를 만들고 섹션 헤더를 추가합니다.

그러나이 모든 표시

아무도 이전에 아무것도 비슷한 다루었 등 BaseAdapters, ListAdapters 및 ArrayAdapters을 기반으로하는?

그렇지 않은 경우이 기능을 만드는 방법에 대한 정보가 필요하십니까?

감사 사이먼

답변

9

나는 this 튜토리얼을 따라 꽤 잘했다. 이 코드를 사용하면 Adapter의 종류를 사용할 수 있으므로 ArrayAdapter 또는 CursorAdapter과 잘 작동합니다.

+0

에 보내 주셔서 감사합니다. 필자는 SeparatedListAdapter를 필자의 기존 사용자 정의 어댑터에 대한 래퍼 (wrapper)로 사용해야한다는 사실을 감안하여 머리를 감쌌습니다. – Simon

9

CursorAdapter를 사용하는 경우 내 SectionCursorAdapter을 사용할 수 있습니다.

+0

건배,이 SimpleCursorAdapters 내 ListView에서 섹션을 알파벳 순으로 잘 작동합니다. 이것은 내가 생각했던 것보다 훨씬 많은 작업이었습니다. SimpleCursorAdapter가 단순함을 망쳐 놓았습니다. – georgiecasey

+0

헤더를 계산하기 위해 모든 항목을 반복해야하기 때문에 항목의 긴 목록이있는 데이터베이스 SimpleCursorAdapter에는 효율적이지 않습니다. 커서가 GROUP BY 쿼리와 함께 반환되면 현재 항목의 머리글 (그룹화 된 값)을 이전 항목 및 다음 항목의 머리글과 다시 비교하여 새 섹션이 있는지 여부를 판단하는 것이 좋습니다. –

+0

AlphabetIndexer를 사용하여 섹션을 계산할 수 있습니다. – ycagri

2

활발한 발전 중에 또 다른 위대한 사람은 SectionCursorAdapter이고 그것은 gradle을 지원합니다. 그것의 창조자는 그것이 공식적으로 풀어 놓일 때 RecyclerView를 지원하기 위하여 새롭게 할 것이라고 약속했다. 또한 블로그 게시물을 ToastDroid