我一直在尝试关注this tutorial在Android中使用谷歌地图视图。在第二部分中,他们创建一个mContext
成员变量,然后将其传递给AlertDialog.Builder(mContext)
,但是他们调用以创建HelloItemizedOverlay
实例的构造函数不会实例化{{1}据我所知,它刚刚离开mContext
。
该程序无法正常运行,并按我的怀疑抛出null
。这应该如何运作?
谢谢,
Jengerer
答案 0 :(得分:1)
在教程的第2步(onCreate部分)中,他们实例化了HelloItemizedOverlay:
HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable);
但请注意,在HelloItemizedOverlay构造函数中,它需要一个Drawable和Context:
public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
super(defaultMarker);
mContext = context;
}
故障在于教程。他们在没有Context对象的情况下实例化该类,使其为null。在onCreate()方法中,只需将this
添加到构造函数中。
答案 1 :(得分:0)
public HelloItemizedOverlay(Drawable defaultMarker,Context context){ 超级(boundCenterBottom(defaultMarker)); mContext = context; }
答案 2 :(得分:0)
为HelloItemizedOverlay
创建一个接受两个参数的构造函数:drawable
和this
。
本教程听起来需要为不同数量的参数制作两个构造函数。