首页 > 解决方案 > 在新活动中如何停止倒数计时器

问题描述

我已经在我目前正在做的游戏中实现了一个倒数计时器,所以当计数器变为 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();

}

标签: javaandroidcountdowntimer

解决方案


您可以使用计时器运行的活动的生命周期函数轻松克服困难。您所要做的就是在活动暂停或销毁时停止计时器。

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

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

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


推荐阅读