/ / android Timer-Ausnahme onResume - Java, Android

Android-Timer-Ausnahme onResume - Java, Android

Ich führe ordnungsgemäß eine zeitgesteuerte Aufgabe für Aktivitäten auswie folgt. Wenn die Aktivität onResume aktiv ist, wird jedoch die Ausnahme "Timer-Task ist bereits geplant" ausgelöst. Ich bringe den Timer ab, sobald die Aufgabe ausgeführt wurde. Wie man es löst? Danke dir

final Runnable setButton = new Runnable() {
public void run() {
myClass.aBridge.button_back.setVisibility(View.INVISIBLE);
timer.cancel();
}
};

TimerTask task = new TimerTask(){
public void run() {
webPush.this.runOnUiThread(setButton);
}
};

@Override
protected void onResume() {
super.onResume();

timer = new Timer();
timer.schedule(task, 5000);

}

Task wird vor onResume einmal aufgerufen als:

        timer = new Timer();
timer.schedule(task, 5000);

Antworten:

2 für die Antwort № 1

Sie können timer.schedule () nur einmal für jede TimerTask-Instanz aufrufen. Erstellen Sie eine neue Instanz, bevor Sie sie planen.

edit: Für Ihren Code initialisieren Sie die TimerTask-Membervariable nicht an der Stelle, an der Sie sie definieren. Erstellen Sie stattdessen eine neue Instanz in onResume (), bevor Sie sie planen.