So my app has 1 activity and 4 fragments and one of them has Chronometer to show how much time is passed.
It works fine, but I have one issue that the chronometer keeps going back to 00:00 every time I move to another fragment and come back.
I know it is because my startStopWatch() method is in OnCreateView, but is there any way to make it continue from where it stopped?
Is it possible to use Bundle class to solve this? If so, how?
Here is my code for Chronometer, all are in one fragment:
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();
}
}
And methods:
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();
}
Thanks in advance.