CountDownTimer奇怪的行为

时间:2015-10-31 00:22:57

标签: android countdowntimer

各位大家好,并提前致谢!

我有一个CountDownTimer,我希望暂停,同时我显示从1到给定数字的增加计数,间隔。问题是,使用下面的代码,计数器有时会达到29,但有时只有28,我不知道为什么。

有人能帮助我吗?。

    public void CountDown(View v)
{
    int FinishNumber = 30;

    final CountDownTimer CountDown = new CountDownTimer(FinishNumber * 100, 100)
    {
        int NumberToShow = 1;

        public void onTick(long millisUntilFinished)
        {
            CopyrightTV.setText(String.valueOf(NumberToShow++));
        }

        public void onFinish()
        {
            CopyrightTV.setText(String.valueOf(NumberToShow));
            this.cancel();
        }
    }
            .start();
}

1 个答案:

答案 0 :(得分:0)

这不是一个奇怪的行为 - 考虑到第一个onTick(long millisUntilFinished)仅在100ms之后调用(即你设置的间隔),而不是在你启动CountDownTimer时调用。

其次,CountDownTimer不是100%精确的计时器,所以你可以期待这种“奇怪的行为”。

修改

如果准确性不是很重要,你可以尝试将CountDownTimer增加几百毫秒,如下所示:

<climits>