1

我一直在尝试按照本教程在 Android 中使用 Google Map View。在第二部分中,他们创建了一个mContext成员变量,然后将其传递给AlertDialog.Builder(mContext),但是他们为创建 an 的实例而调用的构造函数HelloItemizedOverlay没有实例化,所以据我所知mContext,它只是留下了。null

该程序无法正常运行,并且NullPointerException正如我所怀疑的那样抛出一个。这应该如何工作?

谢谢,
詹格勒

4

3 回答 3

1

在教程的第 2 步(onCreate 部分)中,他们实例化了一个 HelloItemizedOverlay:

HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable);

但请注意,在 HelloItemizedOverlay 构造函数中,它需要一个 Drawable 和 Context:

public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
    super(defaultMarker);
    mContext = context;
}

所以问题出在教程上。他们正在实例化没有 Context 对象的类,使其为空。在您的 onCreate() 方法中,只需添加this到构造函数。

于 2010-10-31T18:15:22.463 回答
0

创建一个HelloItemizedOverlay接受两个参数的构造函数:drawablethis

本教程听起来您需要为不同数量的参数创建两个构造函数。

于 2011-03-21T19:06:16.007 回答
0

public HelloItemizedOverlay(Drawable defaultMarker, Context context) { super(boundCenterBottom(defaultMarker)); mContext = 上下文;}

于 2010-11-23T23:05:08.113 回答