Нажмите две кнопки одновременно в Android - PullRequest
1 голос
/ 02 мая 2010

У меня есть две кнопки, которые обе имеют onTouchListener и выполняют действие при нажатии вниз. Почему они не работают, если вы пытаетесь нажать на оба одновременно? Я строю для Android 1.6. У меня нет реального устройства для тестирования, и вы не можете проверить одновременное нажатие на две вещи в эмуляторе. Спасибо за любую помощь.

Ответы [ 3 ]

0 голосов
/ 03 мая 2010

Мультитач был представлен только в Android 2.x, поэтому на 1.6 вам не повезло - это невозможно. Даже с 2.x поведение пользовательского интерфейса по умолчанию должно быть синглетным только для таких событий (например, нажатие кнопки).

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

Подробнее о мультитач можно прочитать здесь . И на странице 3 вы можете увидеть, почему мультитач терпит неудачу в графическом интерфейсе: первое событие касания - ACTION_DOWN, которое обрабатывается так, как должно быть, а второе - ACTION_POINTER_DOWN, который пользовательский интерфейс не знает, как обрабатывать.

0 голосов
/ 11 января 2012

Как уже упоминал Roosma, мультитач доступен в версии 2.x.

Согласно статистике загрузки из моего приложения, опубликованной на Android Market (уже загружено более 16 тысяч человек), похоже, что всего несколько десятков человек используют Android 1.6 на своих устройствах. Поэтому я думаю, что вы должны перейти на версию 2.1 по крайней мере.

Надеюсь, это поможет:)

0 голосов
/ 02 мая 2010

Я не эксперт, но мое предположение будет следующим,

Все GUI-взаимодействие осуществляется через UI-поток. Если вы не сделаете какую-то особую обработку кнопок, вы в конечном итоге обработаете «щелчок 1» потоком пользовательского интерфейса, а пользователь «щелкнет 2» (в то время, когда поток пользовательского интерфейса занят где-то еще). То есть пользовательский интерфейс не будет реагировать на второй клик.

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