1

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

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

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

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

Спасибо, Sunny

ответ

3

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

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

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

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

+0

Для получения дополнительной информации о том, как родители и дети иметь дело с сенсорными событиями, см http://mobiarch.wordpress.com/2013/11/21/prevent-touch-event-theft- в-андроид / – RajV

Смежные вопросы