Android计时器定期跳过号码

时间:2015-04-29 13:27:33

标签: android timer

我有一个非常不一致的 android倒计时器,并且不会定期或正确地更新GUI

public boolean bTimerRunning = false;
public CountDownTimer timer;
private long currentTime = 180000;

public void onTimerTap(View v) {

    if (bTimerRunning) {
        //stop timer
        timer.cancel();
        bTimerRunning = false;

    } else {
        //start timer
        final TextView etTime = (TextView) findViewById(R.id.tvTimer);

        //initalize Timer
        timer = new CountDownTimer(currentTime, 1000) {
            int secondsLeft = 0;
            @Override
            public void onTick(long millisUntilFinished) {

                String currentTimeStr = String.format("%d:%02d",
                        TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished),
                        TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
                                TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))
                );

                //save value to "pause" timer
                currentTime = millisUntilFinished;

                //show on text
                etTime.setText(currentTimeStr);
            }

            @Override
            public void onFinish() {
            }
        };

        timer.start();
        //set boolean
        bTimerRunning = true;
    }



  }

从我在过去的SO问题中看到的情况来看,这是计时器最后几秒钟的典型情况,但我会在前几个刻度中看到它,或者只是在中间。如何让我的计时器更好?会缩小滴答时间的工作和舍入吗?

0 个答案:

没有答案