안드로이드 개발 질문/답변
(글 수 45,052)
ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
cursor.moveToFirst();
while (cursor.moveToNext()) {
connSrv(cursor.getString(0));
HashMap<String, String> map = new HashMap<String, String>();
map.put("s1", "1");
map.put("s2", "2");
list.add(map);
}
cursor.close();
ArrayAdapter<String> aa = new ArrayAdapter<String>( 여기가 문제입니다 );
어레이리스트를 HashMap을 사용하여 만들었더니 ArrayAdapter에 넣을때 어찌 넣어야할지 모르겠더라구요...
layout을 커스텀으로 하고싶어서 SimpleArrayAdapter에서 바꾸었습니다.
생성자 파라미터로 (this, R.layout.tab2_row); 를 넣었는데 이게 각 map의 키값에 맞게 출력해주려고 하다보니,
이 부분을 맵핑하는방법도 모르겠네요...
구글링해도 잘 안뜨길래 여쭈어 봅니다... 위와같이 ArrayList를 사용할 경우 ArrayAdapter는 어떻게 사용해주어야하나요..?
레이아웃에서 각 row 를 원하는 구성으로하기위해 따로 설정해줬는데 ArrayList의 map을 어떻게 매칭하는지도 궁금하네요...
2011.05.24 23:36:54
기존에는,
SimpleAdapter sap = new SimpleAdapter(this, list,
android.R.layout.simple_list_item_2, new String[] { "s1", "s2", "s3" },
new int[] { android.R.id.text1, android.R.id.text2, android.R.id.text2 });
lv = (ListView) findViewById(R.id.tab2_lView);
lv.setAdapter(sap);
이렇게 했더니 위에 하나 아래 작은글씨로 하나 s1과 s3값만 뜨네요....
한 줄(row)에 s1 ~ s5까지 넣고싶습니다... 어떻게 가능할까요...?
참고라도 많은 조언 부탁드립니다..