CountDownTimer 取消()不工作
CountDownTimer cancel() not Working
我是 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();
}
我必须在这里做一个假设,因为代码显示的不多!显然,您在 onCreate
内部使用 countDownTimer
作为内部 class,这样会在 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();
}
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();)取消,最好的方法是使用Boolean,将Boolean设置为false来取消CountDownTimer。在任何你想要的地方 (Myboolean =false;)
我是 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();
}
我必须在这里做一个假设,因为代码显示的不多!显然,您在 onCreate
内部使用 countDownTimer
作为内部 class,这样会在 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();
}
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();)取消,最好的方法是使用Boolean,将Boolean设置为false来取消CountDownTimer。在任何你想要的地方 (Myboolean =false;)