我已经在当前正在执行的游戏中实现了倒数计时器,因此当计数器变为0时,您将回到活动的开始,但是如果在时间结束并开始之前正确回答了问题一个新活动,计时器仍然继续,将我带回开始。因此,我想知道如何纠正此问题,以便在启动新活动时停止计时器。我对这一切都很陌生,并且在学习的过程中会不断学习。
{
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();
}
答案 0 :(得分:0)
使用计时器正在运行的活动的生命周期功能,可以轻松克服难题。您要做的就是在活动暂停或破坏时停止计时器。
因此,您可以执行以下操作。
@Override
protected void onPause() {
super.onPause();
if(countDownTimer != null) countDownTimer.cancel();
}
要了解活动生命周期,请在此处查看this documentation。