У меня есть CountDownTimer, который нужно запускать все время. Есть 2 мероприятия (A и B). У Activity A есть CountDownTimer, который обновляет TextView внутри него. Когда я переключаюсь на B, CountDownTimer все еще работает (это желаемое поведение), но когда я переключаюсь обратно на A, кажется, что старый и новый A. Таймер не обновляет TextView внутри «нового», A. Он запускается только один раз, когда A сначала посещается. Любые идеи о том, как решить эту проблему? Может быть, поставить таймер в другое место?
Edit: Некоторый код:CountDownTimer работает в старой активности при переключении активности
private void prepareTimer() {
// TODO: DOES NOT WORK YET! (switching activities -> runs in old activity)
textTime = (TextView) findViewById(R.id.text_time); // is a field
if (!timerRunning) {
timerRunning = true;
int duration = 60000;
timer = new CountDownTimer(duration, 1000) {
public void onTick(long millisUntilFinished) {
long minsLeft = (long) Math.floor((double) millisUntilFinished/(double) Constants.ONE_MINUTE) + 1;
textTime.setText(minsLeft + " Min.");
}
public void onFinish() {
textTime.setText("done!");
}
};
timer.start();
}
}
Эй, вы должны узнать больше о своей деятельности жизненного цикла ... Когда возвращались из B в A Убедитесь, что вы питания в OnStart (...) метод. – Cehm
Проводка некоторого кода может помочь –