Timer (Timertask) kann nicht ein 2.mal gestartet werden

Nud3l

Mitglied
so ich habe jetzt ein kleines Problem wo ich nicht weiter komme vielleicht hat hier ja einer eine Idee wie was ich falsch mache

Ich bekomme immer einen Fehler wenn ich den Timer ein 2.mal starte

Code:
public void startTimer() {
		timerArrayList = new ArrayList<Timer>();
		mAPWerteArrayList = new ArrayList<MAPWerte>();
		mAPWerteArrayList = OcitsimulationSingleton.getInstance().getallAPWerte();
		
		for(int i =0 ; i < mAPWerteArrayList.size(); i++){
			
			timerArrayList.add( new Timer()); 
			try {
				timerArrayList.get(i).scheduleAtFixedRate( mAPWerteArrayList.get(i), 0, 1000);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} 
			System.out.println("Timer "+ i+1 +" gestartet ");
		}
	}
	
	public void stopTimer() {
		for(int i =0 ; i < timerArrayList.size(); i++){
			timerArrayList.get(i).cancel();			
			System.out.println("Timer "+ i+1 +" gestoppt ");
		}
	}

es kommt folgende Meldung:

Code:
java.lang.IllegalStateException: Task already scheduled or cancelled
 
Hi,

auf den ersten Blick sieht der Code gar nicht so schlecht aus. Würdest Du bitte den Rest vom Stacktrace posten? Hab das Gefühl, dass diese Methoden start- und stopTimer häufiger als genau einmal aufgerufen werden.

Gruß Sen
 
Ich habe das Problem in zwischen behoben

Es lag nicht daran das ich die start und stopp 2mal auf gerufen wurde ...

Das Problem war das ich die run in der abgeleiteten timertask klasse aufgerufen habe
 

Neue Beiträge

Zurück