我是Android开发的新手,我试着制作小游戏。CountDownTimer.cancel()不是为我工作的。
知道吗?
谢谢你的回答!
CountDownTimer cdt = new CountDownTimer(120000, 1000) {
public void onTick(long millisUntilFinished) {
maxTime = (int) (millisUntilFinished / 1000);
timer.setText(String.valueOf(maxTime));
}
public void onFinish() {
}
};
if (startTimer == true) {
cdt.start();
} else {
cdt.cancel();
}发布于 2015-01-01 11:26:09
我必须在这里做一个假设,因为代码没有显示太多!显然,您正在使用countDownTimer作为内部类在onCreate中使用,这样无论发生什么事情,当startTimer == true和它都会创建对象时,这将触发计时器!我想最好创建一个CountDownTimer的全局实例。
并以这样的方式编写代码:
if(startTimer == true) {
cdt = new CountDownTimer(120000, 1000) {
public void onTick(long millisUntilFinished) {
maxTime = (int) (millisUntilFinished / 1000);
timer.setText(String.valueOf(maxTime));
}
public void onFinish() {
}
}.start(); //start the countdowntimer
}
else{
cdt.cancel();
}发布于 2021-05-16 18:35:55
Boolean Myboolean = true;
CountDownTimer MyCountDownTimer = new CountDownTimer(10000, 1000)
{
@Override
public void onFinish()
{
}
@Override
public void onTick(long millisUntilFinished)
{
Log.i("onTick" , String.valueOf((millisUntilFinished / 1000) % 60));
if(!Myboolean ) { cancel(); }
}
}.start();我有这个问题,CountDownTimer不会取消(MyCountDownTimer.cancel();),最好的方法是使用布尔值,将布尔值设置为false以取消CountDownTimer。在你想要的任何地方(Myboolean =false;)
https://stackoverflow.com/questions/27730115
复制相似问题