GoogleマップのマーカーのonTapに問題があります。
これはエラーです
05-31 21:46:21.420:E / AndroidRuntime(5541):java.lang.NullPointerException 05-31 21:46:21.420:E / AndroidRuntime(5541):com.android.internal.app.AlertController $ AlertParams。(AlertController.java:753) 05-31 21:46:21.420:E / AndroidRuntime(5541):android.app.AlertDialog $ Builder。(AlertDialog.java:273) 05-31 21:46:21.420:E / AndroidRuntime(5541):my.class.HelloMapView $ LocationOverlay.onTap(HelloMapView.java:1361)
これは、my.class.HelloMapView $ LocationOverlay.onTap(HelloMapView.java:1361)のエラーのコードです。
public class LocationOverlay extends ItemizedOverlay<OverlayItem> {
//public class LocationOverlay extends ItemizedOverlay{
private ArrayList<OverlayItem> overLayList = new ArrayList<OverlayItem>();
private MapView mapView;
public String pickedlat;
public String pickedlng;
private Context mContext;
public LocationOverlay(MapView mapView, Drawable defaultMarker, Context context) {
//super(null);
super(boundCenterBottom(defaultMarker));
mContext = context;
this.mapView = mapView; // need it for onTap
populate();
}
@Override
protected OverlayItem createItem(int i) {
return overLayList.get(i);
}
@Override
public int size() {
return overLayList.size();
}
public void addOverlayItem(OverlayItem overlayItem) {
if(!overLayList.contains(overlayItem)){
overLayList.add(overlayItem);
setLastFocusedIndex(-1);
populate();
}
// populate();
}
@Override
protected boolean onTap(int pIndex)
{
OverlayItem item = overLayList.get(pIndex);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
エラーログで参照されている行はこれです
AlertDialog.Builderダイアログ=新しいAlertDialog.Builder(mContext);
そして、それについてのグーグルから推測できることは、おそらくmContextが渡されていないことです...しかし、私はそれを正しく理解できません...
助けてください