Итак, у моего приложения есть 1 действие и 4 фрагмента, и у одного из них есть Хронометр, чтобы показать, сколько времени прошло.
Это работает нормально, но у меня есть одна проблема, что хронометр продолжает возвращаться к 00:00 каждый раз, когда я перехожу к другому фрагменту и возвращаюсь.
Я знаю, это потому, что мой метод startStopWatch () находится в OnCreateView, но есть ли способ заставить его продолжить с того места, где он остановился?
Можно ли использовать класс Bundle для решения этой проблемы?Если да, то как?
Вот мой код для хронометра, все в одном фрагменте:
public class FirstFragment extends Fragment {
Chrhonometer chronometer;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_memo, container, false);
chronometer = view.findViewById(R.id.stop_watch);
chronometer.setFormat("%s");
chronometer.setBase(SystemClock.elapsedRealtime());
startStopWatch();
}
}
И методы:
private void startStopWatch() {
if (chronometer.getBase() != 0) {
chronometer.setBase(SystemClock.elapsedRealtime());
} else {
chronometer.setBase(chronometer.getBase() + SystemClock.elapsedRealtime());
}
chronometer.start();
}
private void stopStopWatch() {
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.stop();
}
Заранее спасибо.