2011-05-10 5 views
1

내 응용 프로그램에서 섹션 목록을 만들어야합니다. 이를 위해 나는 다음과 같은 접근 방식 사용하고 각 섹션의 헤더를 포함하는 목록보기을이 안드로이드에 섹션 목록을 만드는 올바른 방법입니까?

  • 위의 목록에있는 각 항목의의 getView에서 팽창는 XML은 텍스트 뷰와 TableLayout을 구성
  • 위의 listview에 대한 뷰를 만드는 데 사용되는 사용자 지정 어댑터, 헤더가있는 textview를 채우고 모든 섹션이 채워질 때까지 tablelayout에 행을 추가합니다.

당연히 나는 두 개의 배열을 유지한다 : 1) 헤더에 대한 2) 섹션의 세부 사항 (실제로 이것에 대한 해시 맵은 섹션 헤더 인덱스를 키로 사용한다. 이것은 어느 헤더인지 식별하는 것이다. 어느 섹션에 속해 있는지).

위의 코드가 작동하지 않고 데이터가 다른 섹션에서 반복되고 있습니다 ... 예 : 두 번째 섹션에는 첫 번째 섹션과 두 번째 섹션의 데이터가 결합되어 있습니까?

왜 이런 일이 발생합니까?

위에서 언급 한 아이디어가 맞지 않습니까?

여기에 무슨 문제가 있습니까?

미리 감사드립니다.

답변

2

계층 적 데이터 구조의 경우 ExpandableListView/ExpandableListActivity, ListView (see this example for reference)을 사용해야합니다.

  • getChildView가에 대한 를 오버라이드 (override) 할 필요가

    • getGroupView는 헤더 오버라이드 (override) 할 필요가 있습니다 :

      이 방법 당신은 렌더러 두 가지 방법이 있습니다 목록을 채울 BaseExpandableListAdapter를 사용합니다 다른 자식 항목 헤더

    목록을 접을 수 없으면/expanda 모든 그룹을 확장하도록 설정하고 접기를 described here으로 사용 중지합니다.

  • +0

    같은 목적을 달성하는 더 쉬운 방법이 있으므로 아직 시도하지 않았습니다. – user590849

    관련 문제