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

그리드뷰에서 Touch와 ItemClick 이벤트 질문드려요

0 추천

안녕하세요 이벤트 처리에 대한 도움 요청합니다.


그리드뷰에서 아이템이 Press 된 상태일 때 디자인을 변경하고 싶습니다.
Clicked 된 상태가 아니라 그냥 터치로 누르고 있을 때만 디자인이 변경되고 아닐경우는 원래대로 돌아오는 부분을 구현하고 있습니다. 제가 설명한 것이 아래 그림과 같습니다.
그리드뷰 아이템 배경만 살구색으로 변경하고자 할 때는 Selector를 사용 했는데요
터치 press 상태에서 아이템 배경과 화살표 이미지 둘다 변경하고자 하여 Touch리스너를 사용하였습니다. 
 
터치 press된 순간에 디자인 변경이 필요하다고 생각되어 Touch리스너를 사용하였는데요
 
MotionEvent.ACTION_DOWN 일 경우는 아이템 디자인이 변경되고
 
 MotionEvent.ACTION_UP 또는 MotionEvent.ACTION_CANCEL 일 경우는 원래 디자인으로 세팅하고
그리드뷰의 onitemClick 쪽으로 이벤트를 넘겨주어 동작해야 할 텐데 
Touch 이벤트 이후에 onitemClick 으로 넘어가지 않습니다.
두 리스너를 동시에 사용할 수 없는거 같은데요 어떤식으로 해결해야 할까요?
 
 
 
현재 구현된 클래스 구조는 다음과 같아요
 
Adapter는 다음과 같이 만들었습니다. 아이템이 눌려졌을때 리스너가 동작해야 하므로 converView에
TouchListener를 세팅하였구요

 그리드뷰가 위치하는 프레그먼트에서는 다음과 같이 코딩하였습니다.
1.iniMembers에서 그리드뷰에 mAdapter를 세팅하고
2.setOnItemClickListener를 등록하여 아이템 클릭시 새로운 액티비티로 이동하게 되어있습니다.
익명사용자 님이 2014년 11월 18일 질문
저도 같은 문제로 고생하고있는데
혹시 해결하셨나요?

1개의 답변

0 추천
ACTION_UP 발생시 인텐트 날리시면 되겠네요.

ACTION_DOWN -> ACTION_UP == 클릭
익명사용자 님이 2014년 11월 18일 답변
...