Я не вижу, чтобы ваша переменная timer
использовалась в ontick (), вы использовали переменную timer2
.Поместите регистратор Log.d()
перед строкой setText (), чтобы проверить результаты для переменных, которые вы используете ... в противном случае editText не может быть определенно пустым
Более того, сэкономьте время в общем доступепредпочтения в onStop () вашей активности .. не на каждом тике таймера!
РЕДАКТИРОВАТЬ: После уточнения требования из OP
Возможно, вы захотите использовать другой подход ... скажем, когда должен начаться отсчет .. используйте System.currentTimeMillis (), чтобы получить ВРЕМЯ ПУСКА и сохранить его в SharedPreferences / DB.
всякий раз, когда начинается действие ... извлечение настроек START_TIME из ... и запуск таймера с начальным временем как (System.currentTimeMillis - START_TIME) и onTick () обновляют таймер (UI). ПРИМЕЧАНИЕ. Теперь вам не нужно обновлять значение таймера до SharedPreferences