События маршрута / пузыря Android, так как элемент управления использует событие onClick - PullRequest
4 голосов
/ 18 января 2011

У меня есть пользовательское представление с ImageView и TextView, и я реализовал onClickListener для моего пользовательского представления.Проблема в том, что ImageView использует событие onClick (я просто хочу, чтобы пользователь мог нажимать на мой элемент управления, где бы он ни находился).Я мог бы также прослушивать onClick в Image / TextView, но он мне кажется грязным.

Есть ли способ наложить / разослать события в Android?Или возможно другое хорошее решение?

Ответы [ 2 ]

9 голосов
/ 18 января 2011

View.onClick() событие не всплывает.Два возможных решения:

  1. Зарегистрируйте OnCLickListener на ваших дочерних представлениях и затем передайте событие, вызвав performClick() на родительском.

  2. Используйте OnTouchListener, который всплывает: просто верните false в методе onTouch() дочернего представления.Это больше работы, так как вы должны учитывать приземление и подъем, чтобы эмулировать клик.

3 голосов
/ 18 января 2011

Вы установили onClickListener в своем пользовательском представлении?

Установите свой пользовательский вид как интерактивный.

Я не рекомендую устанавливать прослушиватель щелчков в дочерних видах.1006 *

Работает ли сейчас?

...