我这样使用了Countdown Timer
新的CountDownTimer(15000,15){
public voID onTick(long millisUntilFinished) { long seconds=millisUntilFinished/1000; long min=millisUntilFinished%100; timeleft=(int) (seconds*1000+min); if(millisUntilFinished>=10000) { changeText.setTextcolor(color.GREEN); } else if(millisUntilFinished>=5000) { changeText.setTextcolor(color.magenta); } else { changeText.setTextcolor(color.RED); } changeText.setText(String.format("%02d", seconds )+ "."+String.format("%02d", min )+" sec"); } public voID onFinish() { timeleft=0; missed++; nametext.setTextcolor(color.RED); nametext.setText("Time Up!"); bottombutton.setVisibility(VIEw.INVISIBLE); globalflag=13; changeText.setTextcolor(color.RED); changeText.setText("0.00 Sec"); Handler myHandler = new Handler(); myHandler.postDelayed(mMyRunnablecif, 3000); } }.start();
在按钮上单击我调用了cancel(),但它停止计数一段时间,然后调用onFinish().我不需要在调用cancel()之后调用onFinish()是否有任何解决方案.任何帮助将受到高度赞赏.
解决方法:
在onClick中将布尔值(例如buttonpressed)设置为true.
在你的onFinish中检查这个布尔值:
if (buttonpressed == true){ //do nothing}else{ //run code}
总结 以上是内存溢出为你收集整理的Android:即使调用了cancel(),也会调用CountDownTimer的finish()全部内容,希望文章能够帮你解决Android:即使调用了cancel(),也会调用CountDownTimer的finish()所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)