倒计时器循环android

时间:2016-10-19 19:41:38

标签: java android timer

我需要显示一个有2个时间段的倒数计时器,例如我需要它倒数45秒,然后倒计时15秒然后再将它全部循环4次。

我尝试了这段代码,但似乎启动了所有的定时器。我想要启动第一个计时器并等到它完成然后启动第二个计时器等待它完成然后再循环它。 我该怎么办?

for (int i = 0; i < labsNum; i++) {
    currLabTV.setText("LAB " + (i + 1));
    if(isWorking) {
            timer = new WorkCounter(workNum * 1000, 1000);
            timer.start();
    }
    if(!isWorking){
        timer = new WorkCounter(restNum * 1000, 1000);
        timer.start();
    }
}

我扩展了CountDownTimer类。

public class WorkCounter extends CountDownTimer {
    public WorkCounter(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);
    }

    @Override
    public void onTick(long millisUntilFinished) {
        String ms = String.format("%02d:%02d" , TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished), TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished));
        timeTV.setText(ms);
    }

    @Override
    public void onFinish() {
        if(isWorking) {
            workoutSign.setText("REST");
        }else {
            workoutSign.setText("WORKOUT");
        }
        isWorking = !isWorking;
    }
}

0 个答案:

没有答案