2017-04-24 116 views
1

当我点击开始按钮时倒数计时器工作正常,但当我点击取消按钮我的应用程序关闭。当我点击取消按钮我想停止倒计时

private View.OnClickListener btnOnClickListener= new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { // checking button is clicked 
      switch(v.getId()){ 
       case R.id.b_pick: 
        start();    //start button 
        break; 
       case R.id.b_cancel: 
        cancel();    //cancel button 
        break; 

      } 

      } 
    }; 

下面的代码是倒数计时器method.after点击取消按钮我想停止countdowntimer时间,并设置result3标签设置为“取消”的文字。

private void count() { 
      countDownTimer : new CountDownTimer(difference,1000) {  // setting countdown time as date difference in miliseconds 
       @Override 
       public void onTick(long millisUntilFinished) { 

        result3.setText((millisUntilFinished/1000)+" seconds"); 

       } 

       @Override 
       public void onFinish() { 
        result3.setText("finished"); // on finish set text to finished 

       } 
      }.start(); // starting the countdown timer 
     } 


    // cancel countdown 
     public void cancel(){ 
      //result2.setText("canceled"); 
    countDownTimer.cancel(); 
    if(countDownTimer!=null) { 
     countDownTimer.cancel(); 
     result3.setText("canceled"); 
     countDownTimer = null; 
} 
    } 
+0

您正在添加此行(countDownTimer.cancel())以取消它两次。如果不是null,则删除前一个。并看到你的logcat它说什么? –

回答

0

提示..我建议使用一个按钮,根据定时器是打开还是关闭,控制定时器。你可以设置一个全局标志(bool)来知道定时器是打开还是关闭。我不确定我是否有问题。

相关问题