0

アクティビティ レベルで定義された ArrowOverlays という名前のリスト変数があります。Googleマップビューの周りに矢印を移動する次のメソッドがあります...

    private void moveTheArrow(GeoPoint whereTo)
{
    if (ArrowOverlays.isEmpty() == false)
    {
        ArrowOverlays.clear();  //this gets a NullPointer exception
    }
    myMapView.getOverlays().clear();  //this works but clears all overlays
    ArrowOverlays = myMapView.getOverlays(); 
    Drawable drawable = getResources().getDrawable(R.drawable.arrow); 
    myItemizedOverlay itemizedoverlay = new myItemizedOverlay(drawable, PSContext);

    GeoPoint point = whereTo;
    OverlayItem overlayitem = new OverlayItem(point, "string1", "string2");

    itemizedoverlay.addOverlay(overlayitem);

    ArrowOverlays.add(itemizedoverlay);     

}

これに加えて、マップビューにいくつかのオーバーレイがあります。私がやりたいのは、ArrowOverlays.Clear() 命令で ArrowOverlays をクリアすることですが、nullpointer 例外で吹き飛ばされます。なぜこれが起こっているのかわかりません。MapView.GetOverlays().Clear() は正常に機能しますが、マップ上のすべてのオーバーレイがクリアされます。ArrowOverllays コレクションだけをクリアするにはどうすればよいですか? ありがとう、ディーン

4

0 に答える 0