-1

こんにちは、コードに「奇妙な」問題があります。ログには次のように書かれています。

06-15 17:06:38.054: E/AndroidRuntime(5699): FATAL EXCEPTION: main
06-15 17:06:38.054: E/AndroidRuntime(5699): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ball_anim/com.example.ball_anim.Main}: java.lang.NullPointerException
06-15 17:06:38.054: E/AndroidRuntime(5699):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at android.app.ActivityThread.access$600(ActivityThread.java:130)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at android.os.Looper.loop(Looper.java:137)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at android.app.ActivityThread.main(ActivityThread.java:4745)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at java.lang.reflect.Method.invokeNative(Native Method)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at java.lang.reflect.Method.invoke(Method.java:511)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at dalvik.system.NativeStart.main(Native Method)
06-15 17:06:38.054: E/AndroidRuntime(5699): Caused by: java.lang.NullPointerException
06-15 17:06:38.054: E/AndroidRuntime(5699):     at com.example.ball_anim.Main$MyView.<init>(Main.java:86)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at com.example.ball_anim.Main.onCreate(Main.java:48)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at android.app.Activity.performCreate(Activity.java:5008)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
06-15 17:06:38.054: E/AndroidRuntime(5699):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
06-15 17:06:38.054: E/AndroidRuntime(5699):     ... 11 more

メインクラスでクラスカスタムメソッドGameTimeを呼び出すとエラーが表示されます..これは私のクラスGameTime.javaです

public class GameTime extends CountDownTimer{
    public long Tempo_Trascorso;
    private final long startTime = 10000;
    private boolean End=false;
    private long Tempo_Stop;

        public GameTime(long startTime, long interval){
            super(startTime, interval);
                }
                @Override
                public void onFinish(){
                  System.out.println("Finish!");
                  End = true;

                }

                @Override
                public void onTick(long millisUntilFinished){
                    System.out.println("Time Restante:" + millisUntilFinished);
                    Tempo_Trascorso = startTime - millisUntilFinished;
                    if(End == false){
                    Tempo_Stop=millisUntilFinished;
                     }
                    }
                //Custom method #1 get the time when the game thread is stopped
                public long getLastTime(){ 
                    return Tempo_Stop;
                }
                //Custom method #2 get the true/false when the time is end
                public boolean getEndGame(){
                    return End;
                }


}

Main.java

public class Main extends Activity {
private Bitmap Player_bmp,Player_bmp_StateLV1,Player_bmp_StateLV2,Player_bmp_StateLV3,Life_bmp,Lose_bmp;
private SurfaceHolder holder;
private AnimationThread AnimThread;
private GameTime GameTime;
private DialogBox Dbox;
private Random rnd;
private int Display_width,Display_height;
private int RandomPosx;
private int Rosso,Verde,Blu;
private Paint paint,paint_L;
private float deltaX,deltaY;
private boolean Drag = false,Collision = false,Stop = false;
private int Static_PositionX,Static_PositionY;
private List<Sfere> C_Sfere = new ArrayList<Sfere>();
private int Life,LostLife=0;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(new MyView(this));


    }
public class MyView extends SurfaceView {

        public MyView(Context context) {
            super(context);
// More code(too long)

}

編集: これは、サーフェス ビューとゲームのものを作成するときのメイン クラスと myview クラスの OnCreate です。コードが長すぎるため、すべてのコードを配置しないでください。詳細情報が必要な場合は教えてください;)

メイン クラスの任意の場所で、GameTime が提供するアプリケーションのカスタム メソッドを呼び出します。メインクラスがダイアログボックス専用のクラスでエラーを表示する場所(たとえば)にエラーエラーがないことを明確にしたい

4

2 に答える 2