– 증상 : CustomView에 위와 같이 onInterceptTouchEvent()를 Override한 뒤

CustomView를 터치해도 호출되지 않는다.

 

– 원인 : Button 또는 ClickListener가 등록된 View가 CustomView를 덮고 있고, CustomView와

이들과의 관계과 Parent <-> Child 관계가 아닌 Sibling 관계일 때 onInterceptTouchEvent를 수신할 수 없다.

* onInterceptTouchEvent가 View가 아닌 ViewGroup에 정의된 이유도 이와 무관하지 않을 것이다.

 

– 해결 : Sibling 관계로 정의되어 있는 현재의 Layout을 Parent <-> Child 관계로 바꿀 수 없는지 확인!

꽤 많은 경우 Parent <-> Child 관계로 정의할 수 있다.

만약 변경이 불가능 하다면??  here