【发布时间】:2015-03-07 16:54:06
【问题描述】:
我创建了一个应用,它有一个切换按钮来启动和停止 Chronometer,比如秒表。当您第一次按下切换按钮(执行.start())时,计时器将开始计数,当您再次按下按钮(执行.stop())时,计时器将出现在屏幕上以停止计数,但此时再次启动它表明它实际上仍在后台计数,并在屏幕上显示时间,就好像它从未停止过一样
代码:
tglStartStop.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (tglStartStop.isChecked()) {
chronStopwatch.start();
}
else {
chronStopwatch.stop();
}
}
});
【问题讨论】:
-
只是猜测,但您似乎应该在致电
start()之前立即致电setBase(...)。原因是start()和stop()不会改变最初由setBase(...)方法设置的'base' 时间。换句话说,Chronometer在停止后实际上并没有继续计数,但如果它停止/重新启动,则计数将相对于原始基准时间。
标签: android timer stopwatch chronometer