Счетчик не возобновляется при возобновлении действия

#android

#Android

Вопрос:

У меня есть счетчик в моем действии A, и по его завершении я должен выполнить некоторые действия. Проблема в том, что счетчик сбрасывается, когда я перехожу к другому действию, а затем возвращаюсь к этому действию A, чего не должно происходить. Почему это так?

Мой класс счетчика:

 private class Counter extends CountDownTimer {

        public Counter(long millisInFuture, long countDownInterval) {
            super(millisInFuture, countDownInterval);
        }

        public void onFinish() {
            //perform some actions
        }

        public void onTick(long millisUntilFinished) {
            int minute = (int) (millisUntilFinished / (1000 * 60));
            int sec = (int) ((millisUntilFinished - (minute * 60 * 1000)) / 1000);
            minuteText.setText(""   minute);
            secondText.setText(""   sec);
            }
        }
    }
  

Я вызываю свой счетчик в onCreate() как:

 new Counter(countdowntime * 60 * 1000), 1000).start();
  

Как решить эту проблему? Пожалуйста, ответьте. Заранее спасибо.

Комментарии:

1. У меня нет опыта работы с этим классом. Если вы сохраняете состояние таймера в двух представлениях EditText. Используя стандартные методы, состояние этих полей должно сохраняться даже при изменении ориентации, чтобы вы могли повторно инициализировать счетчик в ?onCreate, используя состояние, сохраненное в этих представлениях. Более чистым решением может быть запись оставшегося времени в пакет в onSaveInstanceState и чтение пакета в onCreate

Ответ №1:

Вероятно, вам следует запустить свой счетчик в onResume вместо в onCreate и приостановить счетчик в onPause (или вы могли бы завершить счетчик, если isFinishing() возвращает true значение в onPause ).

Ответ №2:

У меня это сработало…Проблема заключалась в том, что я использовал activity stack…при вызове намерения мы должны указать для него идентификатор, чтобы он однозначно идентифицировал каждое намерение. Когда я дал это, это сработало.