虽然有关于此问题的回答问题,但没有一个真正回答以下问题: 我希望android计时器从最后一站开始,而不是继续计算时间。 我尝试以下方法,但它不起作用: - (
public class MainActivity extends ActionBarActivity {
long stopTime = 0;
public void startChronometer(View view) {
long elapsedTime = SystemClock.elapsedRealtime() - stopTime;
((Chronometer) findViewById(R.id.mycrono)).setBase(elapsedTime);
((Chronometer) findViewById(R.id.mycrono)).start();
}
public void stopChronometer(View view) {
stopTime = findViewById(R.id.mycrono).getBaseline();
((Chronometer) findViewById(R.id.mycrono)).stop();
}
............. // standard android methods
结果疯狂的数字......
答案 0 :(得分:0)
我正在使用天文台从上一次l3开始,这是第二次
chronometer.setBase(SystemClock.elapsedRealtime()
- (0 * 60000 + l3 * 1000));
chronometer.start();
答案 1 :(得分:0)
这对我有用。我有3个按钮(开始,暂停,停止)。
private var stopTime : Long = 0
/*Put this in your method, where you want to handle the buttons.
I worked with FloatingActionsButtons*/
fab_start.setOnClickListener {
chronometer.base = SystemClock.elapsedRealtime() + stopTime
chronometer.start()
}
fab_pause.setOnClickListener {
stopTime = chronometer.base - SystemClock.elapsedRealtime()
chronometer.stop()
}
fab_stop.setOnClickListener {
chronometer.base = SystemClock.elapsedRealtime()
stopTime = 0
chronometer.stop()
}