更改速度countDownTimer动态

时间:2015-07-16 16:20:24

标签: android performance countdowntimer

我有这个代码,我想将setText的速度更改为我的TextView。我想要更快更好地开始,但是当结束时,会减慢文本的变化。

            new CountDownTimer(10000, timeToChange) {

                public void onTick(long millisUntilFinished) {

                    if (millisUntilFinished < 7000){
                        timeToChange = 500;
                        Log.d("changed", "time 7000 changed to : " + timeToChange);
                    } else if (millisUntilFinished < 5000){
                        timeToChange = 1000;
                        Log.d("changed", "time 5000 changed to : " + timeToChange);
                    } else if (millisUntilFinished < 3000){
                        timeToChange = 1500;
                        Log.d("changed", "time 3000 changed to : " + timeToChange);
                    }

                    if (controlador){
                        mTextField.setText("WORD 1");
                        controlador = false;
                    } else {
                        mTextField.setText("WORD2");
                        controlador = true;
                    }

                }

                public void onFinish() {
                    mTextField.setText("done!");
                    btnTime.setEnabled(true);
                }
            }.start();

我认为这是不可行的。

有什么办法吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

我认为您应该创建一个取消当前CountDownTimer的函数,并使用您想要的新timeToChange创建一个新函数。)。

为此,您可以尝试将CountDownTimer分配给变量以简化操作。

答案 1 :(得分:0)

Android one开始创建自己的CountDownTimer并添加set方法以更改变量mCountdownInterval。

答案 2 :(得分:-1)

在CountDown计时器启动后,您无法自定义持续时间 你必须使用Thread来完成你的工作。

使用in thread可以使用

Thread.sleep(your_duration);

所以通过这种方式你可以处理速度。