Распознать задержку / долгое касание компонента списка в Flex Mobile - PullRequest
1 голос
/ 13 сентября 2011

Я пытаюсь создать свой собственный компонент списка в мобильном проекте Flex, который запускает событие, когда пользователь касается элемента списка и удерживает палец в течение определенного времени. Что-то вроде longTouch-события, например, реализованное на нативных элементах списка Android для редактирования записи, например.

Я попытался прослушать событие MOUSE_DOWN, чтобы запустить таймер и отправить событие по окончании таймера. Но этот подход не удался, потому что я не могу получить элемент списка, который был нажат пользователем, поскольку компонент List обновляет свойство selectedItem только после того, как пользователь уберет палец из списка.

заранее спасибо

Андре Ушманн

1 Ответ

3 голосов
/ 13 сентября 2011

Отсутствует событие longTouch (или longPress), предоставляемое через собственные API-интерфейсы Flash Player.

Один из вариантов - бросить свой, используя TOUCH_BEGIN , TOUCH_END и таймер .

В основном:

  1. Когда пользователь запускает касание, запускайте таймер.
  2. Когда срабатывает событие touch_End; проверьте таймер, чтобы узнать, как долго он работает, используя currentCount . Если он достаточно длинный, чтобы считаться «длинным прикосновением», отправьте пользовательское событие longPress. Если не; затем остановите таймер и проигнорируйте.

    Все это может произойти внутри рендерера; так что вы точно знаете, какой элемент был нажат.

Я ожидаю, что это будет более надежным, чем использование событий мыши, которые кажутся несовместимыми на сенсорных устройствах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...