我正在构建简单的间隔计时器应用程序,并且在重置计时器时遇到问题。我想使用天文钟计时到一定的时间,在它重置后,将状态更改为另一个,并根据用户提供的一些值计算不同的间隔。但是,当我使用setBase函数重置计时器时,我的应用程序冻结了。
调用chronometer.setBase(SystemClock.elapsedRealtime())
时出现 EOF 错误。它显示了错误是由于Chronometer类中的dispatchChronometerTick()
函数引起的。我不知道我在做什么错
强文本
chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
String time[] = chronometer.getText().toString().split(":");
int seconds = Integer.parseInt(time[1]);
int minutes = Integer.parseInt(time[0]);
if(stan == 0){
if( seconds >= time_before_start ){
stopChronometer();
restartChronometer();
stan = 1;
stateView.setText(getText(R.string.activity_text));
startChronometer();
}
}
private void restartChronometer() {
if (!running) {
chronometer.stop();
chronometer.setBase(SystemClock.elapsedRealtime());
pauseOffset = 0;
}
/ *
void dispatchChronometerTick() {
if (mOnChronometerTickListener != null) {
mOnChronometerTickListener.onChronometerTick(this);
}
}
* /
我想将天文钟重置为当前时间,以便为另一个间隔计时