私は常時実行する必要のあるCountDownTimerを持っています。 2つの活動(AとB)があります。アクティビティAにはCountDownTimerがあり、内部のTextViewを更新します。 Bに切り替えると、CountDownTimerがまだ実行されています(これが望ましい動作です)。しかし、Aに戻ったとき、古いものと新しいAがあるようです。タイマーは、「新しい」AのTextViewを更新しません。 A.初めて訪れたときには1回だけ起動します。どのようにこの問題を解決するための任意のアイデア?たぶんタイマーを別の場所に置いていますか?
編集:いくつかのコード: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から戻ってくるときは必ずONSTART(...)メソッド内のstuffsがあることを確認してくださいについての詳細を学ぶ必要があります。 – Cehm
いくつかのコードを投稿すると助けになるかもしれない –