Java 计时器可能未初始化?
我有一个重置按钮,将“单击”设置为真,还有一个重置功能,当按下重置按钮或计时器完成时调用,我尝试将以下条件添加到“点击”中:Java 计时器可能未初始化?,java,android,Java,Android,我有一个重置按钮,将“单击”设置为真,还有一个重置功能,当按下重置按钮或计时器完成时调用,我尝试将以下条件添加到“点击”中: public void reverseTimer(int Seconds,final TextView tv,final Button button,final TextView txt2){ final CountDownTimer CountDownTimer1 = new CountDownTimer(Seconds* 1000+1000, 1000) {
public void reverseTimer(int Seconds,final TextView tv,final Button button,final TextView txt2){
final CountDownTimer CountDownTimer1 = new CountDownTimer(Seconds* 1000+1000, 1000) {
public void onTick(long millisUntilFinished) {
int seconds = (int) (millisUntilFinished / 1000);
int minutes = seconds / 60;
seconds = seconds % 60;
tv.setText("Time : " + String.valueOf(minutes)
+ ":" + String.valueOf(seconds));
}
public void onFinish() {
if(score > highscore)
sethighscore(txt2);
tv.setText("Completed");
Reset(tv,button,txt2);
}
}.start();
}
但我得到的错误是,它可能没有初始化我知道这意味着什么,我只是不知道在哪里初始化它,以及如何初始化?或者在这个函数之外有没有其他方法可以阻止它?您正在创建CountDownTimer的一个抽象子类。
onTick
和onFinish
中的所有代码都属于该对象。在这些方法中,您可以使用
this
引用对象。因此,您可以简单地执行以下操作:
if(clicked == true)
{
CountDownTimer1.cancel();
}
甚至只是:
this.cancel();
我认为你需要提供更多的背景。与定时器代码相关的复位代码在哪里?张贴一些日志
cancel();