Evento não entregue ao ouvinte

? RoyS @ | Original: StackOverFlow
---

Tenho http://play.google.com/store/apps/details?id=com.appmytoy.funtouch que usa scene2d para a UI. Tenho vários ImageButton instâncias com a sua própria ClickListener . Em alguns dispositivos ( só vi isso no Samsung Galaxy S3 e Samsung Galaxy S4 Ativo até agora) há um problema com o evento não ter sido entregue, a menos que alguém clica duas vezes rapidamente.

Cada vez que um clique não algo como o seguinte é registrado:

04-22 16:10:09.678: D/InputReader(728): Input event: value=1 when=20897610551000
04-22 16:10:09.678: I/InputReader(728): Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.889 ] when=20897610612000
04-22 16:10:09.678: I/InputDispatcher(728): Delivering touch to: action: 0x0
04-22 16:10:09.678: I/InputDispatcher(728): Delivering touch to: action: 0x3
04-22 16:10:09.688: W/InputEventReceiver(728): Attempted to finish an input event but the input event receiver has already been disposed.
04-22 16:10:09.688: W/InputEventReceiver(728): Attempted to finish an input event but the input event receiver has already been disposed.
04-22 16:10:09.688: V/WindowManager(728): Window{43478730 u0 Keyguard}mOrientationRequetedFromKeyguard=false
04-22 16:10:09.698: D/STATUSBAR-StatusBarManagerService(728): manageDisableList what=0x0 pkg=WindowManager.LayoutParams
04-22 16:10:09.788: D/InputReader(728): Input event: value=0 when=20897720902000
04-22 16:10:09.788: I/InputReader(728): Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=20897720902000

Presumo que a declaração Tentativa de terminar um evento de entrada, mas o receptor de eventos de entrada já foi descartado. é a chave aqui, mas eu realmente não posso ver por que ele iria trabalhar quando um clique mais uma vez rapidamente.

Qual poderia ser o motivo para isso ser? Como eu posso depurar isso ainda mais para chegar ao fundo disto? Qualquer pistas?

Edit: Todas as linhas de log, exceto os dois últimos aparece no toque para baixo, enquanto as duas últimas aparece no toque. Meu ouvinte de evento é para no clique.

---

Top 5 Responder

1RoyS @

Eu descobri o que estava causando o problema. Eu tive problemas com http://code.google.com/p/android/issues/detail?id=62537 e tinha adicionado uma variante das soluções alternativas ( http://stackoverflow.com/a/21253443/467650, https: //plus.google.com/+MichaelLeahy/posts/CqSCP653UrW ) .

Eu era capaz de dar a volta o meu problema "double touch", diminuindo o tempo de espera antes de executar a rotina de tratamento que remove a barra de navegação, mas que novamente não funcionou bem o suficiente com KitKat . Eu poderia, naturalmente, verificar a versão Android do executar o aplicativo, mas como a solução é realmente hacky para começar eu removi -lo todos juntos .