我正在尝试使用这个计时器
...当我调用countDownTimer.start()
我可以在调试器中看到 timeleft 变量已更新为我想要的 value=120000
,但计时器不执行 onTick
方法。它直接跳转到 onFinish
。但是,如果我给 timeLeft
一个文字,它就可以工作。
volatile long timeLeft=0;
CountDownTimer countDownTimer=new CountDownTimer( timeLeft,1000) {
@Override
public void onTick(long timeLeft) {
TextView timeView= (TextView)findViewById(R.id.timer);
long longTime=(timeLeft / 1000);
Integer intTime=(int)longTime;// convert long to int
timeView.setText(String.valueOf(intTime));}
@Override
public void onFinish() {correctDialog("Sorry,Time Is Up!!");}};}
(timeLeft is not fixed)
最佳答案
此处 CountDownTimer()
构造函数中的第一个参数是 millisInFuture
。您将此值设为 0。因此只要您启动计时器,它就会完成。给它的值你想要执行多少时间,比如 10000 或 20000 等......
所以初始化timeleft
volatile long timeLeft=10000;
查看文档 CountDownTimer
关于android - 倒数计时器无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31071875/