Я создаю простое приложение с интервальным таймером, и у меня проблема с сбросом хронометра.Я хочу использовать хронометр для подсчета до определенного времени, и после того, как он захочет сбросить его, изменить состояние на другое и посчитать другой интервал на основе некоторых значений, предоставленных пользователем.Но когда я сбрасываю хронометр с помощью функции setBase, мое приложение зависает.
Когда вызывается chronometer.setBase(SystemClock.elapsedRealtime())
, я получаю EOF Ошибка.Это показывает, что ошибка вызвана функцией 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);
}
}
* /
Я хотел сбросить хронометр на текущее время, чтобы я мог рассчитать другой интервал