Ich habe folgendes Problem. Ich drawning Route auf mapview in separaten Thread wie folgt aus:Warum gibt getHandler() null zurück?
public void drawRoute(final MapView mapView) {
new Thread(new Runnable() {
public void run() {
try {
//Do something useful
} catch (SomeException se) {
Handler handler = mapView.getHandler();
handler.post(/*show error in UI thread*/)
}}
}).start();
}
Aber wenn ich Handler bekommen gibt es null, obwohl im Debug-Modus-Handler zurückgegeben und die Fehlermeldung angezeigt wird. Was kann das Problem sein?
PS Möglicherweise ist es falsch, Handler zu bekommen, aber ich konnte keine Informationen darüber finden.
Ich glaube, dass Sie nichts außerhalb des Hauptthreads zeichnen können. Überprüfen Sie dies: http://android-developers.blogspot.com.br/2009/05/painless-threading.html – Bilthon
Ja, Sie haben Recht, aber ich füge Overlays in UI-Thread und dann postInvalidate auf mapView aufrufen, gibt es nur Berechnungen in separaten Thread. – Bracadabra
Sie brauchen wahrscheinlich ein 'run' irgendwo um – njzk2