2010-10-11 62 views
0

HelloMapView tutorial中,地图似乎加载正常,我可以看到地图,同时我也可以看到示例给出的墨西哥标记。HelloMapView教程的问题

但是,当我点击墨西哥标志,我的应用程序崩溃,与消息

的Android应用程序崩溃

我想我知道问题是什么,但我不知道如何解决它:

在步骤7中,tutorial这样说:

现在设置处理叠加项目上的触摸事件的功能。首先,您将需要对此类的成员引用应用程序上下文。因此,添加上下文mContext作为一个类的成员,然后初始化一个新的类的构造函数:

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

好了,但在主要的辅导班,当它宣布这一类,它并没有给它的上下文:

HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable); 

我试着这样做:new HelloItemizedOverlay(drawable, getApplicationContext());

,但不起作用,地图会出现没有墨西哥标志。

有没有人知道我出错的地方?

+1

在Eclipse中使用'adb logcat',DDMS或DDMS透视图来查看LogCat并检查与“android应用程序崩溃”相关的堆栈跟踪。另外,不要使用'getApplicationContext()'进行GUI操作 - 而是使用'this'。 – CommonsWare 2010-10-11 20:33:59

+0

现在工作! – Paul 2010-10-12 15:03:31

+0

感谢很多队友 – Paul 2010-10-12 15:03:53

回答

0

@CommonsWare写道:

使用adb logcat,DDMS,或在Eclipse中DDMS角度看logcat的,检查你的 “的Android应用程序崩溃” 相关的堆栈跟踪。此外,请勿使用getApplicationContext()进行GUI操作 - 请改为使用this

+0

([问题回答了n条评论。转换为社区wiki](http://meta.stackoverflow.com/questions/251597/question-with-no-answers-but-issue-solved-in-在-评论)) – 2015-06-08 13:07:34