我的代码永远不会进入onChronometerTick方法。我做错了什么?我需要以某种方式设置滴答时间吗?我无法想办法做到这一点。
elapsedTimer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
countUp[0] = (SystemClock.elapsedRealtime() - chronometer.getBase()) / 1000;
elapsedTimeDynamic.setText("" + countUp);
}
});
elapsedTimer.start();
答案 0 :(得分:5)
对于将来使用天文台计时器/秒表无法解决问题并且无法解决问题的任何人,我最终废弃计时器并使用CountDownTimer,但是以这样的方式使用它也会计数:
final long startTime = System.currentTimeMillis();
elapsedTimer = new CountDownTimer(activityTime + 1000, 100) {
@Override
public void onTick(long l) {
long elapsedTime = System.currentTimeMillis() - startTime;
elapsedTime = elapsedTime/1000;
elapsedTimeTextView.setText(String.format("%02d", (elapsedTime)));
}
@Override
public void onFinish() {
}
}.start();