Android: событие касания не получено родительским представлением

У меня есть относительный макет R1 в качестве пользовательского представления для расширяемого представления списка.

Теперь внутри R1, у меня есть один вид изображения I1 и другой относительный макет R2, оба являются братьями и сестрами.

Я установил на слушателей щелчка для R2 и I1. И все работает отлично. Но я хочу переместить весь пользовательский вид R1 при определенных условиях касания. Поэтому я установил OnTouchListener для R1. Но когда я прикасаюсь к элементу списка, R1 никогда не получает его.

Я пытался искать, но ничего не работает. Может кто-нибудь помочь мне выяснить, как получить сенсорное событие, полученное R1, а затем, если оно не использует его, то оно должно быть передано в I1 и R2.

Спасибо солнышко

1 ответ

Вам необходимо реализовать onInterceptTouchEvent и вернуться true когда вы хотите перехватить сенсорное событие.

События касания отправляются в ViewGroup onInterceptTouchEvent, Если это вернется falseсобытия касания затем передаются onTouchEvent метод каждого дочернего View этой ViewGroup в обратном порядке рисования. Если ни один ребенок не возвращается true из этого метода, то ViewGroup получает событие в своем onTouchEvent,

http://developer.android.com/training/gestures/viewgroup.html

https://www.youtube.com/watch?v=EZAoJU-nUyI

Другие вопросы по тегам