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();