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();
}
我有一个重置按钮,用于设置“点击”按钮'如果为true并且在按下重置按钮或计时器结束时调用了重置功能,我尝试将以下条件添加到' OnTick':
if(clicked == true)
{
CountDownTimer1.cancel();
}
但是我得到的错误是它可能没有被初始化我知道它意味着什么我不知道在哪里初始化它以及如何?还是有不同的方法可以阻止它在这个功能之外?
答案 0 :(得分:0)
您正在创建CountDownTimer的抽象子类。 onTick
和onFinish
中的所有代码都属于该对象
在这些方法中,您可以使用this
引用该对象。所以你可以这样做:
this.cancel();
甚至只是:
cancel();