Mam następujący problem. Ja rysunku warto wcześniej trasę na MapView w osobnym wątku tak:Dlaczego funkcja getHandler() zwraca wartość null?
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();
}
Ale kiedy się obsługi zwraca null, choć w trybie debugowania obsługi powrócił i jest wyświetlany komunikat o błędzie. Jaki może być problem?
PS Może to być niewłaściwy sposób na uzyskanie Handler, ale nie mogłem znaleźć informacji na jego temat.
Uważam, że nie można narysować niczego poza głównym wątkiem. Sprawdź to: http://android-developers.blogspot.com.br/2009/05/painless-threading.html – Bilthon
Tak, masz rację, ale dodam nakładki w wątku UI, a następnie zadzwoń do postInvalidate na mapView, jest tylko obliczenia w osobnym wątku. – Bracadabra
prawdopodobnie potrzebujesz "uruchom" gdzieś w okolicy – njzk2