2017-02-08 4 views
1

확장 가능한 목록보기의 평면 위치와 압축 위치 사이에 혼란 스럽습니다. 나는 구글에서 검색하지만 내가 발견 한 것은포장 된 위치 대 평면 위치의 차이 android expandable listview

플랫 목록 위치입니다 : 긴 그 "팩"(비트 꾸물 거릴) 위치의 유형 (: ListView를하고 어댑터

포장 위치에서 사용하는 위치 그룹, 아이, 또는 머리글/바닥 글에 대한 널 (null))뿐만 아니라 위치 값 (들) (그룹/하위 값)

하지만 여전히 내가 완벽하게 이해할 수 없습니다입니다. 누군가 예를 들어 설명해 준다면 좋을 것입니다.

답변

1

찾을 솔루션 자신을 확장 목록보기를 이해하는 것이 더 자세한 내용을 찾아주세요 :

평평한 위치는 어떤 유형 (하위 또는 그룹)에 관계없이 화면에서보기의 색인입니다. 이러한 화상에 나타내는 바와 같이 패킹 위치 반면

image

뷰 타입 (하위 또는 그룹) 등 몇 가지 값 좋아 & (이진 연산자를 사용하여 인코딩 된 뷰의 평면 위치 또는 |을 갖는 긴이고 , 시프트 << 또는 >>).

0

확장 목록보기는 :

확장 목록보기는 카테고리별로 그룹 목록 데이터를 저장하는 데 사용됩니다. 사용자가 헤더를 터치 할 때 그룹을 확장하고 접을 수 있습니다.

확장 가능한 목록보기를 만들려면 세 개의 XML 레이아웃 파일이 필요합니다. 첫 번째는 기본 목록보기 용이고 두 번째는 목록보기 그룹 항목 용이고 세 번째는 목록보기 하위 항목 용입니다.

ExpandableListAdapter.java라는 새 클래스 파일을 만들고 BaseExpandableListAdapter에서이 파일을 확장하십시오. 이 클래스는 listview를 렌더링하는 데 필요한 메소드를 제공합니다.

getGroupView() – Returns view for the list group header 
getChildView() – Returns view for list child item 

는 어댑터를 만들기 위해 아래처럼 ExpandableListView에 대한 DataList에를 만들 수 있습니다

* Preparing the list data 
    */ 
    private void prepareListData() { 
     listDataHeader = new ArrayList<String>(); 
     listDataChild = new HashMap<String, List<String>>(); 

     // Adding child data 
     listDataHeader.add("OS"); 
     listDataHeader.add("LANGUAGE"); 
     listDataHeader.add("IDE"); 

     // Adding child data 
     List<String> OS= new ArrayList<String>(); 
     OS.add("Windows"); 
     OS.add("Linux"); 
     OS.add("Android"); 
     OS.add("MAC"); 


     List<String> LANGUAGE= new ArrayList<String>(); 
     LANGUAGE.add("JAVA"); 
     LANGUAGE.add("C"); 
     LANGUAGE.add("C++"); 
     LANGUAGE.add("PHP"); 
     LANGUAGE.add("objective c"); 
     LANGUAGE.add("ROR"); 

     List<String> IDE= new ArrayList<String>(); 
     IDE.add("Android Studio"); 
     IDE.add("Eclipse"); 
     IDE.add("NetBeans"); 
     IDE.add("xcode"); 


     listDataChild.put(listDataHeader.get(0), OS); // Header, Child data 
     listDataChild.put(listDataHeader.get(1), LANGUAGE); 
     listDataChild.put(listDataHeader.get(2), IDE); 
    } 

http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/