Неверное начальное значение хронометра - PullRequest
1 голос
/ 27 сентября 2019

Я пишу простое приложение для шахматных часов на основе android.widget.Chronometer.Я использую его с флагом setCountDown(true) и вся логика работает хорошо.Каждый хронометр создается в отдельном Fragment.Но иногда возникают проблемы с начальным значением хронометра.Например, я устанавливаю начальное значение на 20 секунд, но на самом деле у меня есть это: enter image description here И при перезапуске приложения это различение может быть на случайных часах.Я устанавливаю начальное значение таким образом, в моем классе это расширение android.widget.Chronometer, и mTimeLimit каждый раз равняется 20000:

private void setTimeLimit() {
    mStartTime = SystemClock.elapsedRealtime() + mTimeLimit;
    setBase(mStartTime);
}

Я думаю, что проблема может быть во времени создания фрагмента или так далее.Кто знает, что я ошибаюсь?

1 Ответ

0 голосов
/ 28 сентября 2019

Я нашел одно решение, добавив 100 миллисекунд к начальному значению:

mStartTime = SystemClock.elapsedRealtime() + mTimeLimit + 100;

Кажется, что это решает проблему, но я думаю, что это не лучшее решение, возможно, кто-то знает лучший подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...