Android honeycomb animation ("Animatoren kann nur ausgeführt werden, auf Looper-threads") Fehler
Ich hatte ein früheres Projekt, in dem konnte ich allgemein verwenden Sie die ObjectAnimator Klasse zum animieren einer Klasse wie dieser
ObjectAnimator oa = ObjectAnimator.ofFloat(testShape, "translateX", 0f, 000f);
oa.setDuration(1000l);
oa.setRepeatCount(ObjectAnimator.REVERSE);
oa.setRepeatMode(ObjectAnimator.RESTART);
oa.start();
...und das würde laufen Super, keine Probleme. Wenn ich jetzt versuche zu laufen, das gleiche setup bekomme ich
W/dalvikvm(19053): threadid=10: thread exiting with uncaught exception (group=0x400d1760)
E/AndroidRuntime(19053): FATAL EXCEPTION: Animation Thread
E/AndroidRuntime(19053): android.util.AndroidRuntimeException: Animators may only be run on Looper threads
E/AndroidRuntime(19053): at android.animation.ValueAnimator.start(ValueAnimator.java:900)
E/AndroidRuntime(19053): at android.animation.ValueAnimator.start(ValueAnimator.java:931)
E/AndroidRuntime(19053): at android.animation.ObjectAnimator.start(ObjectAnimator.java:282)
E/AndroidRuntime(19053): at com.processing.test.Run.setup(Run.java:43)
Ich habe versucht, fügen Sie Looper.prepare() und Looper.loop() in meiner draw loops, aber ohne Erfolg. Da hatte ich noch nicht die Verwendung der Looper-Klasse überhaupt vorher obwohl, dies ist ein unerwünschter Ansatz.
Könnte dies ein version Problem mit meiner zugrunde liegenden lib (Verarbeitung-android in diesem Fall) oder ist es aufgrund einer änderung in den Waben von 3.0 auf 3.1
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Blick auf die docs für ObjectAnimator es scheint nicht, dass Dinge verändert: was Sie wohl gerade tun müssen, ist sicherzustellen, dass Sie den Aufruf vom UI-thread: entweder stellen Sie sicher, es wird genannt in einer event-handler-Methode, verwenden Sie eine Handler-Instanz oder betrachten.post() mit einer Lauffähigen, die tatsächlich läuft die animation. Hast du plötzlich anfangen aufrufen
start
von einem anderen Standort aus?