안드로이드 개발 질문/답변
(글 수 45,052)
SimpleCursorAdapter 로 DB내용들을 textview로 출력했어요.
그럼 출력된 textview들 중에, 특정 한 item을 선택하면, 새로운 액티비티가 실행되게 하려고 합니다.
어떻게 해야 하나요??
예를 들면,
DB의 내용은 이렇게 되어있고,
_id / item
|
1 |
나무 |
|
2 |
꽃 |
|
3 |
화살 |
|
4 |
구름 |
textview로 출력한 내용은, 아래와 같습니다.
|
나무 |
|
꽃 |
|
화살 |
|
구름 |
여기서, 두번째 item인 "꽃"을 선택하면, 그 값을 가지고
다른 DB를 비교해서 꽃에 해당하는 정보를 출력하려 합니다.
|
무궁화 |
|
튤립 |
|
장미 |
|
동백꽃 |
-----
private SimpleCursorAdapter adapter;
adapter = SimpleCursorAdapter( ...);
setListAdapter(adapter);
adapter.getItemId(position);
이건 position 값을 알아내야 하는데, 따로 저장공간을 두지 않는 이상 알아낼 수 없을 것 같고.
id값을 이용해서 어떻게 하면 될 것 같은데 해결 방법이 없을까요?
adapter.get~()
get 함수가 많아서 뭘 쓰면 될것 같긴 한데, 어떻게 하면 될까요?




메소드에 이미 파라메터로 다 들어 오게 되어 있는데...
setOnItemClickListener 등록을 해야 list item 클릭을 잡을 수 있음.
아니면 ListActivity면 onListItemClick 라는 메소드를 override를 하면됨.
무튼 두 메소에는 position 값, id (Adapter에서 ggetItemId 에서 return 되는 값)이 들어 오게 되어 있음.
그러니까 위에 내용은 이벤트 처리만 잘 하면 아무 문제가 없음