Вопрос

Я сейчас использую событие

@Override
public boolean onTouchEvent(MotionEvent ev)
{

Обеспечить отзыв от пользователя для игры, я пишу. Это событие срабатывает с некоторых событий управления игрой, которые занимают некоторое время для завершения (потому что есть участие в анимации). Проблема у меня есть во время анимации, если я продолжаю прикоснуться к экрану (aka стреляя это событие), я получу ошибку тайм-аута:

10-02 21: 58: 30.776: Ошибка / ActivityManager (67): Причина: keydispatchingtimedout

По сути, а анимация работает, мне не нужно это событие, хотя было бы неплохо в очередь.

Что я могу сделать, чтобы предотвратить тайм-аут и либо в очередь события, либо временно отключить его?

Спасибо.

Это было полезно?

Решение

Вы случайно блокируете нить UI? Не должно быть абсолютно никаких причин делать то, что вы просите (и это даже даже невозможно :)

Другие советы

Рядом с тем, что сказал Ромейн.
Вы можете захотеть спать () на вашем OnTouchEvent.

Простой способ реализации, который добавляет трансплатежеспособный макет над ним (добавьте его в свой родитель на родительскую XML.

в анимации запуска TransaparentLayout.SetClickabe (TRUE); в анимационном конце TransaparentLayout.SetClickabe (false);

очень простой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top