Ho il seguente problema. Sto drawning percorso sulla mapview in thread separato in questo modo:Perché getHandler() restituisce 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();
}
Ma quando ho gestore restituisce NULL, anche se in modalità debug gestore restituito e viene visualizzato un messaggio di errore. Quale può essere il problema?
PS Potrebbe essere il modo non corretto per ottenere Handler, ma non sono riuscito a trovare informazioni a riguardo.
Credo che non si possa disegnare nulla al di fuori del thread principale. Controlla questo: http://android-developers.blogspot.com.br/2009/05/painless-threading.html – Bilthon
Sì, hai ragione, ma aggiungo gli overlay nel thread dell'interfaccia utente e poi chiamo postInvalidate su mapView, c'è solo calcoli in thread separati. – Bracadabra
probabilmente hai bisogno di un 'run' da qualche parte intorno a – njzk2