S
snoofy
Neues Mitglied
- 0
Hallo zusammen,
ich experimentiere derzeit mit Timern rum und bin auf folgendes Problem gestoßen. Wenn ich einem Timer über schedule einen auszuführenden Timertask zuweise, dann kann ich schedule nachdem dieser Timertask aufgerufen wurde nicht erneut mit diesem Timertask füttern. Hier mal ein kurzer Beispielcode:
Das Programm stirbt immer in der Zeile "blinkTimer.schedule(blinkTimerTask, 800);", wenn blinken() vom handler aus aufgerufen wird.
Irgend eine Idee?
ich experimentiere derzeit mit Timern rum und bin auf folgendes Problem gestoßen. Wenn ich einem Timer über schedule einen auszuführenden Timertask zuweise, dann kann ich schedule nachdem dieser Timertask aufgerufen wurde nicht erneut mit diesem Timertask füttern. Hier mal ein kurzer Beispielcode:
Code:
import java.util.*;
import android.app.Activity;
import android.os.*;
import android.widget.*;
import android.util.*;
public class test extends Activity {
/** Called when the activity is first created. */
private ImageView blinker;
private Timer blinkTimer = null;
private Handler handler = new Handler();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
blinker = (ImageView) findViewById(R.id.blinker);
blinkTimer = new Timer("gameTimer");
}
public void onResume() {
super.onResume();
blinken();
}
public void onPause() {
blinkTimer.cancel();
super.onPause();
}
TimerTask blinkTimerTask = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
blinken();
}
});
}
};
public void blinken() {
if (blinker.getVisibility() == ImageView.INVISIBLE) {
blinker.setVisibility(ImageView.VISIBLE);
} else {
blinker.setVisibility(ImageView.INVISIBLE);
}
blinkTimer.schedule(blinkTimerTask, 800);
}
}
Irgend eine Idee?