제목 그대로 리스트뷰에 제가 가지고 있는 데이터들을 출력을 했습니다. 그리고 나서 리스트뷰를 눌렀을때 그 데이터에 대한 정보를 출력하고 싶은데 그게 잘 안되네요 ㅠ 데이터는 파싱을 해서 가져오는건데... 안드로이드 잘 모르는 상태에서 하려니 너무 힘들어요
좀 도와 주셨으면 합니다.
아래에 중요 소스를 첨부 하도록 하겠습니다.
for (int i = 0; i < aList.size(); i++) {
map = new HashMap<String, String>();
BSHashModel user = aList.get(i);
strId = user.get("id");
strName = user.get("name");
strAge = user.get("age");
map.put("item1", "아이디 : " +strId);
map.put("item2", "이름 : "+strName+"\n나이 :"+strAge);
mlist.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(
AndroidActivity.this, mlist,
android.R.layout.simple_list_item_2, new String[] {
"item1", "item2"}, new int[] {
android.R.id.text1, android.R.id.text2});
list.setAdapter(adapter);
//////이 윗부분이 데이터를 가져와 리스트뷰에 띄우는 내용입니다,
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
String ha = mlist.get(position).get("item1");
position = list.getPositionForView(view)+1;
AlertDialog.Builder alter = new AlertDialog.Builder(
AndroidActivity.this);
switch (position) {
case 1:
alter.setTitle("상세정보");
alter.setIcon(android.R.drawable.ic_menu_info_details);
alter.setMessage("strId.");
alter.setPositiveButton("확인", null);
alter.show();
break;
default:
alter.setTitle("상세정보");
alter.setIcon(android.R.drawable.ic_menu_info_details);
alter.setMessage("strId.");
alter.setPositiveButton("확인", null);
alter.show();
break;
}
}
///이 부분에서 막힙니다, onItemClick을 호출하여 다이얼로그를 생성하였는데. strId라는 데이터를 불러오는데 계속 포지션에 해당하는 값이 아닌 가장 마지막에 추가된 값만이 나타나고 있습니다. 포지션값을 읽어오긴 했는데 이걸 어떻게 사용해야 할지 잘 모르겠습니다. ㅠㅠ 번거롭고 귀찮으시겠지만 도와주시면 감사하겠습니다.