Frage

Ich bin das Ereignis zur Zeit mit

@Override
public boolean onTouchEvent(MotionEvent ev)
{

Um Feedback von dem Benutzer zur Verfügung stellt für Spiel ich schreibe. Dieses Ereignis feuert einige Spiel-Steuerereignisse, die einige Zeit in Anspruch nehmen (weil es Animation beteiligt ist). Das Problem, das ich habe ist, während die Animation, wenn ich den Bildschirm halten berühren (AKA dieses Ereignisses Brennen), werde ich einen Timeout-Fehler:

10-02 21: 58: 30,776: ERROR / Activitymanager (67): Grund: keyDispatchingTimedOut

Im Grunde genommen, während die Animation läuft, ich dieses Ereignis nicht brauchen, obwohl es schön wäre es zu Schlange stehen.

Was kann ich tun, um die Zeitüberschreitung zu verhindern, und entweder die Ereigniswarteschlange, oder es vorübergehend deaktivieren?

Danke.

War es hilfreich?

Lösung

Sind Sie zufällig den UI-Thread blockiert? Es sollte absolut kein Grund, zu tun, was Sie fordern (und es ist auch gar nicht möglich:)

Andere Tipps

Neben dem Gesagten Romain.
Vielleicht haben Sie schlafen wollen () auf Ihrem onTouchEvent.

Einfache Art und Weise zu implementieren ist add transaperent Layout darüber (fügen Sie es in Ihrer XML-fill Mutter Höhe und Breite).

in Animation starten transaparentlayout.setClickabe (true); in Animation Ende transaparentlayout.setClickabe (false);

sehr einfach.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top