Java 在新活动中如何停止倒计时
我已经在我目前正在做的游戏中实现了一个倒计时计时器,因此当计数器变为0时,它会将您带回到活动的开始,但是如果在时间结束并开始一个新活动之前正确回答了一个问题,计时器仍会继续,并将我带回到活动的开始。因此,我想知道我需要做什么来纠正这一点,以便计时器在开始新活动时停止。我对这一切都很陌生,而且在学习的过程中不断学习Java 在新活动中如何停止倒计时,java,android,countdowntimer,Java,Android,Countdowntimer,我已经在我目前正在做的游戏中实现了一个倒计时计时器,因此当计数器变为0时,它会将您带回到活动的开始,但是如果在时间结束并开始一个新活动之前正确回答了一个问题,计时器仍会继续,并将我带回到活动的开始。因此,我想知道我需要做什么来纠正这一点,以便计时器在开始新活动时停止。我对这一切都很陌生,而且在学习的过程中不断学习 { context = this; new CountDownTimer(+16000, 1000) { public void on
{
context = this;
new CountDownTimer(+16000, 1000) {
public void onTick(long millisUntilFinished) {
TextView variable = (countdownText);
final int counter = Main1Activity.this.counter;
textView.setText(String.valueOf(counter +15));
Main1Activity.this.counter--;
if(countdownTimer != null) countdownTimer.cancel();
}
public void onFinish() {
// Here do what you like...
Intent intent = new Intent(context, MainActivity.class);
startActivity(intent);
}
}.start();
}
使用计时器正在运行的活动的生命周期功能可以轻松克服这一困难。您所要做的就是在活动暂停或销毁时停止计时器 因此,您可以执行以下操作
@Override
protected void onPause() {
super.onPause();
if(countDownTimer != null) countDownTimer.cancel();
}
要了解活动生命周期,请查看此处。请提供。您的代码示例不清楚,请添加您正在计算机中运行的程序。为什么不在startActivity行之前停止它?这不起作用。我尝试了所有的方法,但当活动完成并重新开始时,倒计时会加倍运行。