私はリスナーインターフェースを持っています:
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);
}
...
このクラスは次のインターフェースを実装します。
public class PuzzleView extends SurfaceView implements Runnable, AnimationListener { ... private AnimationManager animationManager = null;
...
public PuzzleView(Context context)
{
...
animationManager = new AnimationManager(FRAME_RATE);
//animationManager.addAnimationListener(this); THIS CRASHES
}
アニメーション リスナーを追加すると、クラッシュします。何が間違っている可能性がありますか?
ありがとう
dalvik.system.NativeStart.main (ネイティブ メソッド) 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): com.joshl.drop7.PuzzleView.(PuzzleView.java:82) ) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.Game.onCreate(Game.java:18) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19 :15:51.453: E/AndroidRuntime(278): ... 11 more 09-21 19:15:53.333: I/Process(278): シグナルを送信しています。PID: 278 SIG: 9 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): at com.joshl.drop7.AnimationManager.addAnimationListener(AnimationManager.java:19) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.PuzzleView.(PuzzleView.java:82) 09- 21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.Game.onCreate(Game.java:18) 09-21 19:15:51.453: E/AndroidRuntime(278): Android で。 app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19:15: 51.453: E/AndroidRuntime(278): ... 11 more 09-21 19:15:53.333: I/Process(278): シグナルを送信しています。PID: 278 SIG: 9 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): at com.joshl.drop7.AnimationManager.addAnimationListener(AnimationManager.java:19) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.PuzzleView.(PuzzleView.java:82) 09- 21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.Game.onCreate(Game.java:18) 09-21 19:15:51.453: E/AndroidRuntime(278): Android で。 app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19:15: 51.453: E/AndroidRuntime(278): ... 11 more 09-21 19:15:53.333: I/Process(278): シグナルを送信しています。PID: 278 SIG: 9 main(Native Method) 09-21 19:15:51.453: E/AndroidRuntime(278): 原因: java.lang.NullPointerException 09-21 19:15:51.453: E/AndroidRuntime(278): at com.joshl. drop7.AnimationManager.addAnimationListener(AnimationManager.java:19) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.PuzzleView.(PuzzleView.java:82) 09-21 19:15 :51.453: E/AndroidRuntime(278): com.joshl.drop7.Game.onCreate(Game.java:18) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.Instrumentation で。 callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19:15:51.453: E/ AndroidRuntime(278): ... 11 more 09-21 19:15:53.333: I/Process(278): シグナルを送信しています。PID: 278 SIG: 9 main(Native Method) 09-21 19:15:51.453: E/AndroidRuntime(278): 原因: java.lang.NullPointerException 09-21 19:15:51.453: E/AndroidRuntime(278): at com.joshl. drop7.AnimationManager.addAnimationListener(AnimationManager.java:19) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.PuzzleView.(PuzzleView.java:82) 09-21 19:15 :51.453: E/AndroidRuntime(278): com.joshl.drop7.Game.onCreate(Game.java:18) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.Instrumentation で。 callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19:15:51.453: E/ AndroidRuntime(278): ... 11 more 09-21 19:15:53.333: I/Process(278): シグナルを送信しています。PID: 278 SIG: 9 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): com.joshl.drop7.PuzzleView.(PuzzleView.java:82) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl .drop7.Game.onCreate(Game.java:18) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15 :51.453: E/AndroidRuntime(278): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19:15:51.453: E/AndroidRuntime(278): ... 11 more 09-21 19 :15:53.333: I/Process(278): シグナルを送信しています。PID: 278 SIG: 9 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): com.joshl.drop7.PuzzleView.(PuzzleView.java:82) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl .drop7.Game.onCreate(Game.java:18) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15 :51.453: E/AndroidRuntime(278): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19:15:51.453: E/AndroidRuntime(278): ... 11 more 09-21 19 :15:53.333: I/Process(278): シグナルを送信しています。PID: 278 SIG: 9 51.453: E/AndroidRuntime(278): com.joshl.drop7.AnimationManager.addAnimationListener(AnimationManager.java:19) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.PuzzleView で(PuzzleView.java:82) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.Game.onCreate(Game.java:18) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.ActivityThread.performLaunchActivity(ActivityThread.java) :2627) 09-21 19:15:51.453: E/AndroidRuntime(278): ... 11 09-21 19:15:53.333: I/Process(278): シグナルを送信しています。PID: 278 SIG: 9 51.453: E/AndroidRuntime(278): com.joshl.drop7.AnimationManager.addAnimationListener(AnimationManager.java:19) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.PuzzleView で(PuzzleView.java:82) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.Game.onCreate(Game.java:18) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app.ActivityThread.performLaunchActivity(ActivityThread.java) :2627) 09-21 19:15:51.453: E/AndroidRuntime(278): ... 11 09-21 19:15:53.333: I/Process(278): シグナルを送信しています。PID: 278 SIG: 9 com.joshl.drop7.PuzzleView.(PuzzleView.java:82) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.Game.onCreate(Game.java:18) 09 -21 19:15:51.453: E/AndroidRuntime(278): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app で.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19:15:51.453: E/AndroidRuntime(278): ... 11 09-21 19:15:53.333: I/Process(278): シグナル送信. PID: 278 SIG: 9 com.joshl.drop7.PuzzleView.(PuzzleView.java:82) 09-21 19:15:51.453: E/AndroidRuntime(278): com.joshl.drop7.Game.onCreate(Game.java:18) 09 -21 19:15:51.453: E/AndroidRuntime(278): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-21 19:15:51.453: E/AndroidRuntime(278): android.app で.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19:15:51.453: E/AndroidRuntime(278): ... 11 09-21 19:15:53.333: I/Process(278): シグナル送信. PID: 278 SIG: 9 E/AndroidRuntime(278): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19:15:51.453: E/AndroidRuntime(278): ... 11 09-21 19:15: 53.333: I/Process(278): シグナルを送信しています。PID: 278 SIG: 9 E/AndroidRuntime(278): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-21 19:15:51.453: E/AndroidRuntime(278): ... 11 09-21 19:15: 53.333: I/Process(278): シグナルを送信しています。PID: 278 SIG: 9