M
maeview
Neues Mitglied
- 0
Guten Abend,
ich versuche schon eine Weile einen Countdown einzubinden, der auch von außerhalb ansprechbar ist.
Die Klasse Counter arbeitet ohne Probleme, in der Activity "GameActivity", als inner Class.
Doch, sobald ich eine seperate daraus mache, wirft er mir eine java.lang.NullPointerException an den Kopf. Und peinlicherweise weiß ich echt nicht was das Problem ist.
Hier noch einmal im Detail
at com.example.maeview.xxxxxxxx.Counter.onTick(Counter.java:34)
at android.os.CountDownTimer$1.handleMessage(CountDownTimer.java:124)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Zum Verständnis stell ich auch direkt die Codes der Klassen vor.
Ich bin mir relativ sich, dass es noch effizientere Methoden gibt, einen Counter zu erstellen und vielleicht könnt ihr sogar welche vorstellen, wenn ihr möchtet.
Die App startet auch ganz normal in der Haupt Activity, doch drücke ich auf Start, um in die GameActivity zu kommen, stürzt die App ab.
Von euch kennen sich damit bestimmt die meisten aus und ich blick da mal wieder nicht durch
Ich bedanke mich schon mal im voraus,
lG
ich versuche schon eine Weile einen Countdown einzubinden, der auch von außerhalb ansprechbar ist.
Die Klasse Counter arbeitet ohne Probleme, in der Activity "GameActivity", als inner Class.
Doch, sobald ich eine seperate daraus mache, wirft er mir eine java.lang.NullPointerException an den Kopf. Und peinlicherweise weiß ich echt nicht was das Problem ist.
Hier noch einmal im Detail
at com.example.maeview.xxxxxxxx.Counter.onTick(Counter.java:34)
at android.os.CountDownTimer$1.handleMessage(CountDownTimer.java:124)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Zum Verständnis stell ich auch direkt die Codes der Klassen vor.
Code:
package com.example.maeview.[/COLOR][/COLOR][COLOR=Red][COLOR=Black]xxxxxxxx;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class GameActivity extends Activity {
TextView tss; //tts = timeSetStart
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game);
tss = (TextView) findViewById(R.id.time);
tss.setText("00:01:00");
final Counter timer = new Counter(60000,1000);
timer.start();
}
}
Code:
package com.example.maeview.[/COLOR][/COLOR][COLOR=Red][COLOR=Black][COLOR=Red][COLOR=Black]xxxxxxxx[/COLOR][/COLOR];
import android.os.CountDownTimer;
import java.util.concurrent.TimeUnit;
public class Counter extends CountDownTimer{
GameActivity gA = new GameActivity();
public Counter(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onTick(long millisUntilFinished){
long millis = millisUntilFinished;
String zeit = String.format("%02d:%02d:%02d:", TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
System.out.println(zeit);
gA.tss.setText(zeit);
}
@Override
public void onFinish(){
}
}
Ich bin mir relativ sich, dass es noch effizientere Methoden gibt, einen Counter zu erstellen und vielleicht könnt ihr sogar welche vorstellen, wenn ihr möchtet.
Die App startet auch ganz normal in der Haupt Activity, doch drücke ich auf Start, um in die GameActivity zu kommen, stürzt die App ab.
Von euch kennen sich damit bestimmt die meisten aus und ich blick da mal wieder nicht durch
Ich bedanke mich schon mal im voraus,
lG