Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 倒数计时器的无限间隔_Java_Android - Fatal编程技术网

Java 倒数计时器的无限间隔

Java 倒数计时器的无限间隔,java,android,Java,Android,在下面这段简单的代码中,我想为倒计时设置无限间隔。我找不到此操作的任何文档 public class MyCountDownTimer extends CountDownTimer { public MyCountDownTimer(long startTime, long interval) { super(startTime, interval); } @Override public void onFinish() { co

在下面这段简单的代码中,我想为倒计时设置无限间隔。我找不到此操作的任何文档

public class MyCountDownTimer extends CountDownTimer {
    public MyCountDownTimer(long startTime, long interval) {
        super(startTime, interval);
    }

    @Override
    public void onFinish() {
        countDownTimer.cancel();
        timerHasStarted = false;
    }

    @Override
    public void onTick(long millisUntilFinished) {
        Random rand = new Random();
        int  rnd = rand.nextInt(1000000000);
        text.setText("" + rnd);
    }
}

我想通过点击按钮来结束它。

为了使倒计时无限长,您可以重新启动它
onFinish
方法 像这样

public void onFinish() {
if (!finishBtnPressed) {
 countDownTimer.start();
} else {
//your logic
}    

}

CountDownTimer有一个方法
cancel()
,您可以在单击finish按钮时调用它(注意
cancel()
call
onFinish()
,所以我添加了布尔变量
finishbtpressed
)。如果你想有其他选择,那么看看最终的结果是什么?你想要一个永不结束但处于活动状态的倒计时吗?还是要禁用倒计时?@Compass never Finish为什么不使用标准<代码>scheduleAtFixedRate(TimerTask任务,长延迟,长周期)允许您创建一个永久的计时器,然后可以在fixedRate计时器创建的任务中使用onTick。