마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

커스텀리스트뷰에서 OnItemClickListener에 대해 궁금합니다.

0 추천
안녕하세요.

현재 기존에 만들어진 앱을 유지보수 하고 있습니다.

커스텀리스트뷰쪽 작업에서 약간 고민이 생겨 글을 올립니다.

다름이 아니라 커스텀리스트뷰를 만들었는데,

커스텀리스트뷰에 들어가는 셀에 대한 xml도 커스텀이잖아요?

그 커스텀뷰에 위젯이 여러개 있거든요..

텍스트뷰도 잇고 버튼도 있고,

그런데 어댑터랑 엑티비티랑 나누어져 있는데

엑티비티쪽에서 listview에 OnItemClickListener 이벤트가 걸려있고

그냥 리스트뷰의 해당 셀을 선택했을때에 대해서 처리되게끔 되어 있습니다.

그런데 리스트뷰에 표시되는 한개의 셀 안에 특정위젯 예를들어 버튼이나 텍스트뷰를 클릭하였을때

특정 동작이 되게 해야되거든요.

그런데 OnItemClickListener로는 어떤 위젯이 눌렷는지 구분이 되지 않아서 고민입니다.

구조를 어떤식으로 잡고 처리해야될까요?

어댑터에서 해당 위젯(텍스트뷰 또는 버튼)에 setOnClickListener을 걸고 어댑터에서 처리하려 했으나

관련 처리는 엑티비티단에서 해야될거 같아서 엑티비티로 빼야 할거 같은데

어찌 해야될지 조언 부탁드립니다.꼭꼭
갸아악 (21,260 포인트) 님이 2015년 5월 7일 질문

1개의 답변

+1 추천
 
채택된 답변
커스텀 셀의 위젯에 대한 이벤트는 어댑터의 getView에서 처리하는게 맞습니다.

관련 처리를 꼭 액티비티 단에서 해야만 하면 그런 문제는 interface 하나 만들어서 어댑터에 전달하면 간단히 해결 될 문제입니다.
Gradler (109,780 포인트) 님이 2015년 5월 7일 답변
갸아악님이 2015년 5월 7일 채택됨
감사합니다.
어댑터에 interface하나 만들어서 해당 Activity로 position값 전달하여 처리하였습니다.
감사합니다.
...