Android CountDown计时器不会在测验应用程序中停止

时间:2016-12-29 20:50:39

标签: android android-studio android-activity countdowntimer android-developer-api

抱歉我的英语不好

大家好 我做了一个测验申请,其中包括5个问题。我创建了一个ResultActivity页面,显示测验结果。 我为每个问题添加了一个20秒的countDown计时器。倒数计时器结束后,它会自动转到下一个问题。问题完成后,应移至ResultActivity页面以显示结果。

我只有一个问题......

如果倒计时器未在0结束,它仍然在后台运行,当你进入名为ViewAnswerActivity的第三个屏幕时,它会返回到ResultActivity屏幕。

如何在到达第三个屏幕后停止CountDown计时器? (ViewAnswerActivity)

代码的一部分

ConceptActivity.class

TextView textView;
CountDownTimer countDownTimer;

@Override
Protected void onCreate (Bundle savedInstanceState) {
   Super.onCreate (savedInstanceState);
   SetContentView (R.layout.activity_concept);

    TextView = (TextView) findViewById;

     CountDownTimer = new CountDownTimer (20 * 1000,1000) {
         @Override
         Public void onTick (long millisUntilFinished) {
            TextView.setText ("" + millisUntilFinished / 1000);
         }

         @Override
         Public void onFinish () {
             Intent conceptIntent = new Intent (ConceptActivity.this, ResultActivity.class);
             StartActivity (conceptIntent);
         }

     } .start ();
 }

2 个答案:

答案 0 :(得分:0)

问题是你没有停止计时器。

          Public void onFinish () {
                        Intent conceptIntent = new Intent (ConceptActivity.this, ResultActivity.class);
                        StartActivity (conceptIntent);
                }

          public void cancel(){ 
                       if(countDownTimer != null)
                      countDownTimer.cancel(); 
                }

答案 1 :(得分:0)

每当您从计时器活动移至另一个活动时,添加以下代码

myTimer.cancel();
myTimer.purge();

myTimer是Timer类型的变量号。