在HelloMapView tutorial中,地图似乎装得很好,我可以看到地图,而且我也可以看到示例给出的墨西哥标记。
但是,当我点击墨西哥标记时,我的应用程序崩溃,并显示消息
Android应用程序崩溃
我认为我知道问题是什么,但我不知道如何解决它:
在第7步中,tutorial说明了这一点:
现在设置处理叠加项目上的触摸事件的功能。首先,您需要引用应用程序Context作为此类的成员。因此,将Context mContext添加为类成员,然后使用新的类构造函数初始化它:
public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
super(defaultMarker);
mContext = context;
}
好的,但是在主教程类中,当它声明这个类时,它没有给它上下文:
HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable);
我尝试这样做:new HelloItemizedOverlay(drawable, getApplicationContext());
但是这不起作用,地图显示没有墨西哥标记。
有没有人知道我哪里出错了?
答案 0 :(得分:0)
@CommonsWare写道:
在Eclipse中使用
adb logcat
,DDMS或DDMS透视图来查看LogCat并检查与您的" android应用程序崩溃相关联的堆栈跟踪"。另外,不要将getApplicationContext()
用于GUI操作 - 请改用this
。