Reputation:
i am using andengine in my application for animation. when i am using a sprite click event then it gives strange issue. i am using this sprite to hide show a view in android native layout.
my logcat output
04-01 18:21:43.966: E/AndroidRuntime(1875): FATAL EXCEPTION: GLThread 3832
04-01 18:21:43.966: E/AndroidRuntime(1875): java.lang.IndexOutOfBoundsException: Invalid index 42, size is 42
04-01 18:21:43.966: E/AndroidRuntime(1875): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
04-01 18:21:43.966: E/AndroidRuntime(1875): at java.util.ArrayList.get(ArrayList.java:304)
04-01 18:21:43.966: E/AndroidRuntime(1875): at org.andengine.entity.Entity.onManagedDraw(Entity.java:1382)
04-01 18:21:43.966: E/AndroidRuntime(1875): at org.andengine.entity.scene.Scene.onManagedDraw(Scene.java:260)
04-01 18:21:43.966: E/AndroidRuntime(1875): at org.andengine.entity.Entity.onDraw(Entity.java:1160)
04-01 18:21:43.966: E/AndroidRuntime(1875): at org.andengine.engine.Engine.onDrawScene(Engine.java:627)
04-01 18:21:43.966: E/AndroidRuntime(1875): at org.andengine.engine.Engine.onDrawFrame(Engine.java:617)
04-01 18:21:43.966: E/AndroidRuntime(1875): at org.andengine.opengl.view.EngineRenderer.onDrawFrame(EngineRenderer.java:105)
04-01 18:21:43.966: E/AndroidRuntime(1875): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1516)
04-01 18:21:43.966: E/AndroidRuntime(1875): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
i dont know why it is causing please help
EDIT:
04-01 18:53:01.420: D/AndEngine(2899): FirstBaseActivity.onDestroy @(Thread: 'main')
04-01 18:53:01.420: D/AndEngine(2899): UpdateThread interrupted. Don't worry - this EngineDestroyedException is most likely expected!
04-01 18:53:01.420: D/AndEngine(2899): org.andengine.engine.Engine$EngineDestroyedException
04-01 18:53:01.420: D/AndEngine(2899): at org.andengine.engine.Engine.throwOnDestroyed(Engine.java:574)
04-01 18:53:01.420: D/AndEngine(2899): at org.andengine.engine.Engine.onTickUpdate(Engine.java:560)
04-01 18:53:01.420: D/AndEngine(2899): at org.andengine.engine.Engine$UpdateThread.run(Engine.java:820)
04-01 18:53:01.427: D/AndEngine(2899): FirstBaseActivity.onDestroyResources @(Thread: 'main')
04-01 18:53:01.427: D/AndEngine(2899): FirstBaseActivity.onGameDestroyed @(Thread: 'main')
full logcat
Upvotes: 0
Views: 589
Reputation: 2790
The problem is that you are modifying the scene graph from thread different than the UpdateThread
. Maybe from some touch/sensor event. If you do so you have to dispatch to the UpdateThread
via runOnUpdateThread(Runnable)
.
Upvotes: 1