private CustomItemizedOverlay mOverlay; //在初始化地图的时候初始化了
public class CustomItemizedOverlay extends ItemizedOverlay<MyOverlayItem> {
private Context context;
private List<MyOverlayItem> points;
private MyOverlayItem rememberMyOverlayItem = null;
public CustomItemizedOverlay(Drawable drawable, MapView mapView) {
super(drawable, mapView);
}
public CustomItemizedOverlay(Drawable drawable, MapView mapView,
Context context) {
super(drawable, mapView);
this.context = context;
}
@Override
protected boolean onTap(int arg0) {
return super.onTap(arg0);
}
@Override
public boolean removeAll() {
return super.removeAll();
}
public void setPoints(List<MyOverlayItem> points) {
this.points = points;
rememberMyOverlayItem = null;
}
}
// 刷新地图 我的数据是从网络取过来的
private void pinMarkers(List<MyOverlayItem> list) {
try {
if (mOverlay != null) {
mOverlay.removeAll(); //第二次进入时 会报空指针异常
for (int i = 0; i < list.size(); i++) {
mOverlay.addItem(list.get(i));
}
mapView.refresh();
}
} catch (Exception e) {
e.printStackTrace();
}
}
------解决方案--------------------
不是加了如果不是空才会执行清除吗,是其它地方的问题吧=。=
------解决方案--------------------
楼主,那个地方是空指针,空指针很容易针对。