これが私の問題です。リスト0 ... n-1があります。このリストには n 個のオーバーレイがあります。地図上で動いている車をシミュレートする必要があります。これはオーバーレイによって示されます。メインスレッドでオーバーレイを生成する AsyncTask を実行しようとしましたが、マップビューをドラッグすると currentmodificationexception でクラッシュします。他のスレッドからのオーバーレイを管理できないため、これは反復子の問題です。どのようにできるのか?
質問する
88 次
1 に答える
0
n 個のオーバーレイを使用する代わりに、オーバーレイを 1 つだけ使用して draw メソッドをオーバーライドし、車を正しい位置に描画することができます。
非同期タスクを使用して車の位置 (x、y) を定義することもできます。オーバーレイ描画では、この X、Y 座標を使用して車を配置します。
doInBackground(){
//..
carOverlay.set(x,y);
//..
}
public class CarOverlay extends Overlay {
//..
set(intx, int y){
this.x = x;
this.y = y;
}
@Override
public void draw(Canvas canvas, MapView mapview, boolean shadow) {
//..
darwCar(x,y); //you need to create your darwCar method ...
}
幸運を。
于 2012-10-06T15:28:06.460 に答える