为什么CountdownTimer只调用一次onTick?

时间:2019-07-16 11:38:57

标签: java android

所以我正在写一个小鸡蛋计时器用于学习目的。实际上,如果没有onTick中的CountDownTimer方法在开始时仅调用一次,则一切工作正常,我不知道为什么。实际上,在文档中已指出,如果方法中调用的操作花费的时间太长,可以跳过刻度,但是我认为这些计算所花费的时间不会超过60分钟(这是可用的最大时间)。因此,计时器会计时一次,就像输入30分钟一样,显示小部件将显示29:59。


new CountDownTimer(timer,timer){

            @Override
            public void onTick(long l) {
                long help = (l - (l%60000))/60000;
                String help2 = "" + help;
                Log.i("Minuten übrig", help2);
                long help3 = (l % 60000)/1000;
                String help4 = "" + help3;
                Log.i("Sekunden übrig", help4);
                String prov = help + ":" + help3;

                display.setText(prov);
            }

            @Override
            public void onFinish() {
                button.setText("Start");
            }
        }.start();

1 个答案:

答案 0 :(得分:0)

尝试替换此:

new CountDownTimer(timer,timer)

与此:

new CountDownTimer(timer,1000)

您可以将其他值替换为1000,但要确保它小于timer的值,否则onTick只会被调用一次。

另外,请检查Chronometer是否适合您的任务。