2014-02-12 1 views
0

일부 데이터를 ExpandableListView에 표시하려고합니다. 첫번째 위치에 대한 일부 정적 데이터를 ExpandableListView에 표시하는 방법

, 나는 각 필드 (이름, 롤 마크)를위한 ArrayAdapter와를 만든 2

name roll mark 
a  7  5 
b  5  5 
c  3  5 

를 들어

name roll mark 
a  10 50 
b  11 55 
c  12 56 

말 3 TextViews이 표시됩니다.
그 때문에 2 시간 롤링을 위해 ArrayAdapter를 만들어야합니다.

더 좋은 방법이 있습니까?

+0

당신이 http://developer.android.com/reference/android/widget/ExpandableListAdapter.html을 시도 할 수 – Anshul

+0

경우 0 : // \t \t \t \t Emg_title.setText (arrayAdapterno.getItem (childPosition)로 .toString()); // \t \t \t \t 중단; 더 좋은 방법 // \t \t \t 경우 1 : // \t \t \t \t Emg_title.setText (arrayAdapter.getItem (childPosition)로 .toString()); // \t \t \t \t 중단; – user3244282

+0

하나의 테이블을 만들고 데이터를 가져 오는 걸 좋아해? – user3244282

답변

0

HashMap을 렌더링 할 미리 정의 된 어댑터가 없습니다. ArrayAdapter를 확장하여 사용자 지정 어댑터를 만들 수 있습니다. 여기

사용자 정의 어댑터에서 HashMap에 대한 예입니다

public class HashMapAdapter extends BaseAdapter { 

    private HashMap<String, String> mData = new HashMap<String, String>(); 
    private String[] mKeys; 
    public HashMapAdapter(HashMap<String, String> data){ 
     mData = data; 
     mKeys = mData.keySet().toArray(new String[data.size()]); 
    } 

    @Override 
    public int getCount() { 
     return mData.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return mData.get(mKeys[position]); 
    } 

    @Override 
    public long getItemId(int arg0) { 
     return arg0; 
    } 

    @Override 
    public View getView(int pos, View convertView, ViewGroup parent) { 
     String key = mKeys[pos]; 
     String Value = getItem(pos).toString(); 

     //do your view stuff here 

     return convertView; 
    } 
} 

당신이 효과를 전환하려는 경우 간단한 ArrayAdapter와 대신 ExpandableListAdapter을 사용할 수있는 것보다.

here ExpandableListAdapter에서 HashMap 사용 방법을 확인할 수 있습니다. 생성자에서 HashMap을 전달하고 Adapter에서 사용할 수 있습니다.

+0

여기에 haspmap을 사용하는 방법은 무엇입니까? – user3244282

관련 문제