jag har följande klass som används från en activity:
Kod:
public class SimpleTimer extends Thread{
private int interval;
private SimpleTimerListener listener;
private boolean closed;
/**
* @param interval i sekunder
*/
public SimpleTimer(int interval, SimpleTimerListener listener){
this.interval = interval;
this.listener = listener;
}
public void run() {
closed = false;
while(!closed){
listener.doTask();
try {
Thread.sleep(interval * 1000);
} catch (InterruptedException e) {}
}
}
public void close(){
closed = true;
}
public int getInterval() {
return interval;
}
public void setInterval(int interval) {
this.interval = interval;
}
}
När jag startar timern så får jag följande exception:
Kod:
07-22 12:03:10.372: ERROR/AndroidRuntime(463): FATAL EXCEPTION: Thread-8
07-22 12:03:10.372: ERROR/AndroidRuntime(463): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
07-22 12:03:10.372: ERROR/AndroidRuntime(463): at android.os.Handler.<init>(Handler.java:121)
07-22 12:03:10.372: ERROR/AndroidRuntime(463): at android.location.LocationManager$ListenerTransport$1.<init>(LocationManager.java:139)
07-22 12:03:10.372: ERROR/AndroidRuntime(463): at android.location.LocationManager$ListenerTransport.<init>(LocationManager.java:137)
07-22 12:03:10.372: ERROR/AndroidRuntime(463): at android.location.LocationManager._requestLocationUpdates(LocationManager.java:708)
07-22 12:03:10.372: ERROR/AndroidRuntime(463): at android.location.LocationManager.requestLocationUpdates(LocationManager.java:630)
...
Vad gör jag för fel?