0

CarList를 childList로 사용하여 HashMap이 목록의 행이고 그룹 문자열이 헤더가되도록합니다. 어떻게 그룹화 할 수 있습니까? 그리고 이것들을 사용하려면 어댑터가 필요합니다.ExpandListable with ArrayList <HashMap <String, String >>

다음 코드는 지금까지 내가 가지고있는 코드입니다. 당신은 당신이 다음 패턴을 사용하여 다른 값 유형을 사용하려면

ArrayList<HashMap<String, String>> CarList; 

      static final String TAG_URLS = "urls"; 
      static final String TAG_ID = "id"; 
      static final String TAG_NAME = "name"; 
      static final String TAG_PIC = "pic"; 
      String group; 

    CarList = new ArrayList<HashMap<String, String>>(); 

List<Cars> cars = db.getAllCars();  
String group = "Cars"; 
     for (Cars cn : cars) { 

    HashMap<String, String> map = new HashMap<String, String>(); 

           String id = String.valueOf(cn.getID()); 
           String name = cn.getName(); 
           String urls = cn.getUrls(); 
           String pic = cn.getPic(); 

           map.put(TAG_ID, id); 
           map.put(TAG_NAME, name); 
           map.put(TAG_URLS, urls); 
           map.put(TAG_PIC, pic); 

           CarList.add(map); 
} 
+0

3 단계로 설정 하시겠습니까? – vinitius

답변

0

가 :

가 값 객체를 생성, 즉 모든 뷰 유형에 대한 모든 정보를해야합니다, 그것은 MyDataItem를 호출 할 수 있습니다. 'MyDataItem'의 arrayList를 작성하십시오. 'MyDataItem'속성 중 하나가 유형이 될 수 있도록 헤더와 내부 항목의 차이점을 알 수 있도록 구조가 무엇인지 확인하십시오.

당신이 처리 할 BaseAdapter의 다음 방법을 사용할 수 있습니다 :

 @Override 
     public int getViewTypeCount() { 
      return super.getViewTypeCount(); 
     } 

     @Override 
     public int getItemViewType(int position) { 
      return super.getItemViewType(position); 
     } 

이것은 하나의 목록에서 뷰의 여러 종류를 관리 할 수 ​​있습니다. this 매뉴얼에 대한 자세한 내용을 확인할 수 있습니다.