在进行新活动时如何停止倒数计时器

时间:2019-05-24 20:46:59

标签: java android countdowntimer

我已经在当前正在执行的游戏中实现了倒数计时器,因此当计数器变为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();

}

1 个答案:

答案 0 :(得分:0)

使用计时器正在运行的活动的生命周期功能,可以轻松克服难题。您要做的就是在活动暂停或破坏时停止计时器。

因此,您可以执行以下操作。

@Override
protected void onPause() {
    super.onPause();
   if(countDownTimer != null) countDownTimer.cancel();
}

要了解活动生命周期,请在此处查看this documentation