有没有办法可以保存CountDownTimer
的确切传递时间(毫秒,秒或分钟很好)?
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
我尝试在onTick()
中增加一个变量,但问题是,我的计时器取消并可以通过Button重新启动,每次启动计时器时都会调用onTick()
,无论第二次通过或不。因此,如果我在1秒内多次单击按钮,则每次单击都会调用onClick()
,而不是每秒一次。
答案 0 :(得分:1)
你可以使用System.currentTimeMillis(),这就是你所追求的吗?
public class MyCountDownTimer extends CountDownTimer {
long timeStart;
public MyCountDownTimer(long x, long y) {
super(x, y);
timeStart = System.currentTimeMillis();
}
@Override
public void onTick(long millisUntilFinished) {
long timeLapsed = System.currentTimeMillis() - timeStart;
/// your code
}
@Override
public void onFinish() {
/// your code
}
}