我有一個監聽器接口:添加偵聽器會導致崩潰?
public interface AnimationListener
{
public void onAnimationStarted(Animation animation);
public void onAnimationFinished(Animation animation);
public void onAnimationCanceled(Animation animation);
}
此類保持一個列表:
public class AnimationManager
{
private List<Animation> animations;
private List<AnimationListener> animationListeners;
private List<Animation> animationsToRemove;
private float rate;
public AnimationManager(float rate)
{
setRate(rate);
}
public void addAnimationListener(AnimationListener listener)
{
animationListeners.add(listener);
}
public void removeAnimationListener(AnimationListener listener)
{
animationListeners.remove(listener);
}
...
這個類實現了接口:
公共類PuzzleView擴展SurfaceView實現Runnable,AnimationListener { ... private AnimationManager animationManager = null;
...
public PuzzleView(Context context)
{
...
animationManager = new AnimationManager(FRAME_RATE);
//animationManager.addAnimationListener(this); THIS CRASHES
}
當我添加動畫偵聽器時,它崩潰。什麼可能是錯的?
由於
09-21 19:15:51.433:d/AndroidRuntime(278):關閉VM 09-21 19:15:51.433:W/dalvikvm(278):主題ID = 1 :線程退出 未捕獲的異常(group = 0x4001d800)09-21 19:15:51.453: E/AndroidRuntime(278):致命異常:main 09-21 19:15:51.453: E/AndroidRuntime(278)了java.lang.RuntimeException:無法啓動 活性ComponentInfo {com.joshl.drop7/com.joshl.drop7.Game}: 顯示java.lang.NullPointerException 09-21 19:15:51.453: E/AndroidRuntime(278) :在 android.app.ActivityThread.pervaLaunchActivity(ActivityThread.java:2663) 09-21 19:15:51.453:E/AndroidRuntime(278):at android.app.ActivityThread.handleLaunchActivity -21 19:15:51.453:E/AndroidRuntime(278):at android.app.ActivityThread.access $ 2300(ActivityThread.java:125)09-21 19:15:51.453:E/AndroidRuntime(278):at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033) 09-21 19:15:51.453:E/AndroidRuntime(278):at android.os.Handler.dispatchMessage(Handler.java:99) 09-21 19:15:51.453:E/AndroidRuntime(278):at android.os.Looper.loop(Looper.java:123)09-21 19:15:51.453: E/AndroidRuntime(278):at android.app.ActivityThread.main(ActivityThread.java:4627)09-21 19:15:51.453:E/AndroidRuntime(278):at java.lang.reflect.Method.invokeNative( Native Method)09-21 19:15:51.453:E/AndroidRuntime(278):at java.lang.reflect.Method.invoke(Method.java:521)09-21 19:15:51.453: E/AndroidRuntime(278):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) 09-21 19:15:51.453:E/AndroidRuntime(278):at com.android。 internal.os.ZygoteInit.main(ZygoteInit.java:626)09-21 19:15:51.453:E/AndroidRuntime(278):at dalvik.system.NativeStart.main(Native Method)09-21 19:15 :51.453: E/AndroidRuntime(278):引起:java.lang.NullPointerException 09-21 19:15:51.453:E/AndroidRuntime(278):在 com.joshl.drop7.AnimationManager.addAnimationListener(AnimationManager.java:19 ) 09-21 19:15:51.453:E/AndroidRuntime(278):at com.joshl.drop7.PuzzleView。(PuzzleView.java:82)09-21 19:15:51.453:E/AndroidRuntime(278) ):at com.joshl.drop7.Game.onCreate(Game.java:18)09-21 19:15:51.453: E/AndroidRuntime(278):at android.app.Instrumentation。callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15:51.453:E/AndroidRuntime(278):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19:15:51.453 :E/AndroidRuntime(278):... 11更多09-21 19:15:53.333:I /進程(278):發送信號。 PID:278 SIG:9
向我們展示您的堆棧跟蹤 –