Evento non consegnati a chi ascolta

? RoyS @ | Original: StackOverFlow
---

Ho http://play.google.com/store/apps/details?id=com.appmytoy.funtouch che utilizza scene2d per l'interfaccia utente . Ho diversi ImageButton istanze con il proprio ClickListener . Su alcuni dispositivi ( solo visto sul Samsung Galaxy S3 e Samsung Galaxy S4 attivo finora) c'è un problema con l'evento non essere consegnato a meno che si clicca due volte rapidamente .

Ogni volta che un clic riesce qualcosa di simile al seguente viene registrato :

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

Suppongo che il comunicato è tentato di finire un evento di ingresso, ma il ricevitore evento di input è già stato smaltito . è la chiave qui, ma non posso davvero capire perché avrebbe funzionato quando un clic una volta rapidamente .

Quale può essere il motivo per questo? Come posso eseguire il debug di questo ulteriore per andare a fondo di questo ? Degli indizi ?

Edit : Tutte le linee di registro, tranne gli ultimi due al tatto appare giù, mentre le ultime due appare sul touch up . Il mio listener di eventi è per il click.

---

Top 5 Risposta

1RoyS @

Ho scoperto che cosa stava causando il problema . Ho avuto problemi con http://code.google.com/p/android/issues/detail?id=62537 e aveva aggiunto una variante delle soluzioni ( http://stackoverflow.com/a/21253443/467650, https : //plus.google.com/+MichaelLeahy/posts/CqSCP653UrW ) .

Sono stato in grado di aggirare il problema "doppio tocco " diminuendo il tempo di ritardo prima di eseguire il gestore che rimuove la barra di navigazione, ma che ancora una volta non ha funzionato abbastanza bene con KitKat . Potrei, naturalmente, controllare la versione Android del app in esecuzione, ma la soluzione è davvero hacky per cominciare ho rimosso tutto insieme .