私は次の問題があります。私はこのような別のスレッドでのMapView上のルートをdrawningよ:なぜgetHandler()が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();
}
しかし、私はハンドラを取得するときにデバッグモードハンドラで返され、エラーメッセージが表示されるが、それは、nullを返します。何が問題なの?
PS Handlerを取得する方法が間違っている可能性がありますが、その情報が見つかりませんでした。ビューが装着されていないため
getHandler
私はあなたがメインスレッドの外に何も描画することはできないと信じています。これをチェックしてください:http://android-developers.blogspot.com.br/2009/05/painless-threading.html – Bilthon
はい、そうですが、UIスレッドにオーバーレイを追加してから、mapViewでpostInvalidateを呼び出します。別のスレッドでの計算のみ。 – Bracadabra
あなたはおそらく – njzk2