Android 单击重置按钮时,如何重置计时器?
在编辑我的代码后,我已经这样做了,当点击重置按钮时,它会重新启动计时器,但当另一个计时器运行时,它会重新启动计时器。因此,一次似乎有多个计时器,问题是“如果计时器已经启动,如何重置计时器”如果启动,则停止重置,然后重新启动Android 单击重置按钮时,如何重置计时器?,android,timer,sdk,Android,Timer,Sdk,在编辑我的代码后,我已经这样做了,当点击重置按钮时,它会重新启动计时器,但当另一个计时器运行时,它会重新启动计时器。因此,一次似乎有多个计时器,问题是“如果计时器已经启动,如何重置计时器”如果启动,则停止重置,然后重新启动 b2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { counter = 0;
b2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
counter = 0;
tx.setText(Integer.toString(counter));
b.setEnabled(true);
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
tx2.setText("Time remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
tx2.setText("Finished!");
b.setEnabled(false);
}
}.start();
}
});
在活动中编写自己的倒计时,而不是新的倒计时。使其全球化:
public class MyCountDownTimer extends CountDownTimer {
public MyCountDownTimer(long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onFinish() {
//reset button
tx2.setText("Finished!");
b.setEnabled(false);
}
@Override
public void onTick(long millisUntilFinished) {
//do what ever You want
tx2.setText("Time remaining: " + millisUntilFinished / 1000);
}
}
然后在您的活动中:
MyCountDownTimer timer=null;
long startTime = 10000;
long interval = 1000;
在OnCreate()中初始化它:
timer = new MyCountDownTimer(startTime, interval);
在需要的地方启动计时器:
timer.start();
需要时取消:
timer.cancel();
然后重新开始:
timer = new MyCountDownTimer(startTime, interval);
timer.start();
欢迎来到SO OneWay!如果你发布一个特定的问题,你会有更好的机会得到帮助。你陈述了你想要构建什么,但没有具体要求什么。例如,您可能会问:“在倒计时运行一次后,按钮一直处于禁用状态,在倒计时结束后,我需要做什么才能重新启用它?”单击“重置”按钮时,我如何重置计时器?