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

ontouch 시, 인자값 View에 대하여

0 추천
안녕하세요. onTouch때문에 골머리를 앓고 있습니다.

 

현재 뷰가 20개정도 있고 10개는 "A" , 10개는 "B 라는 String 값을 Tag로 세팅해놨습니다.(view.setTag("A"))

tag 값으로 구역을 구분한건데요.. 터치 다운 시, 뷰의 tag 값을 가져와서 같은 tag 값을 가진 뷰들의 배경색을 바꾸고 터치 업(ACTION_UP)시, 배경색을 원복하여 클릭효과를 주고 다른 Activity로 전환합니다.

 

즉, A구역의 뷰 아무거나 터치하면 10개의 뷰의 배경색이 변했다 원복하면서 클릭효과가 나타나고 다른화면으로 이동하는 겁니다.

 

제가 원하는 것은 A 구역을 터치한 상태(10개의 배경색이 변경됨)에서 드래그해서 B구역으로 가서 터치업(ACTION_UP)했을 때, 혹은 다른 여백으로 드래그 한 뒤에 터치업했을 때, 아무 동작 안하도록 하고 싶습니다.

 

이게..버튼으로 하면 당연히 되는 기능(?) 인데.. 터치로 하려니 힘드네요..

생각 같아서는 ontouch에서  ACTION_DOWN시의 View와 ACTION_UP의 View를 비교하여 tag값이 다를 경우 동작 안하도록 로직을 짜면 될 줄 알았는데... ACTION_DOWN이나 ACTION_UP에서 전달받는 View는 동일한 View인거 같습니다.

문서 찾아보니..dispatch한 view라고 하는거 같더라고요...

이거 어떻게 구현을 해야할까요??

 

고수님들 힌트나 조언좀 부탁드립니다.
치솟음 (3,710 포인트) 님이 2015년 10월 15일 질문

1개의 답변

0 추천
드래그에서 리턴값을 false 시켜버리면 이벤트 전달이 안될텐데요
익명사용자 님이 2015년 10월 15일 답변
그러면 ACTION_UP도 안타지 않나요?
B에서 B로 드래그시에 문제가 되는군요!
...