Сенсорные Android-слушатели? - PullRequest
       35

Сенсорные Android-слушатели?

3 голосов
/ 28 февраля 2011

Мне нужно несколько слушателей. Например, у меня есть ViewGroup, у которой будут следующие слушатели: onItemClick, onLongItemClick и onTouch.EV == move.

Элементы внутри группы представлений также имеют onClick.

В моих тестах оба набора слушателей работают независимо, но не взаимозависимо. Есть ли способ связать группы слушателей?

Спасибо, ~ Аэдона

Ответы [ 2 ]

3 голосов
/ 01 марта 2011

Я не уверен, но, возможно, вы можете отправить событие касания из корневого представления в его дочернее представление (начиная с действия)

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (ChildView.dispatchTouchEvent(event))
        return true;
    else
        return false;
}

после того, как пользователь нажал кнопку, отправьте касаниеСобытие возвращается в корневой режим.

2 голосов
/ 28 февраля 2011

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

Скажем, у вас есть кнопка в ViewGroup. Если вы нажмете кнопку, ViewGroup сначала получит событие, она может не передавать событие своим дочерним элементам, и в этом случае кнопка не будет реагировать на щелчок.

...