我一直在关注本教程:http://developer.android.com/resources/tutorials/views/hello-mapview.html 但在onTap
mContext抛出一个NullPointerException ..任何人都知道为什么?这里是我的代码..上下文空指针
public class Mapitems extends ItemizedOverlay{
Context mContext;
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
public Mapitems(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
}
public Mapitems(Drawable defaultMarker, Context context) {
super(defaultMarker);
mContext = context;
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
@Override
protected boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
@Override
public int size() {
return mOverlays.size();
}
}
//编辑:我仍然有这个问题。赏金适用于任何能给我解释为什么我会遇到这种错误的人,我将如何纠正?
//编辑2:它似乎过去的答案允许我点击该项目,但没有显示其在地图视图中的图标..任何人都知道为什么?
谢谢你,先生。 – Skizit 2010-08-26 00:27:42
不客气。至于你的第二个问题,它可能是'HelloGoogleMaps'类中的东西,或者是你的版本中调用的任何东西。请确保您的项目的res/drawable /目录中有一个图像,并且您正确引用它。你可能会有这样一行:this.getResources()。getDrawable(R.drawable。[imgFileName])'其中[imgFileName]是没有扩展名的所需图像的名称(.png) – neXus 2010-08-26 12:06:35