热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java–Contextnull指针

我一直在关注这个教程:http://developer.android.com/resources/tutorials/views/hello-mapview.html但在onTap

我一直在关注这个教程:http://developer.android.com/resources/tutorials/views/hello-mapview.html
但在onTap mContext中抛出一个NullPointerException ..有谁知道为什么?这是我的代码..

public class Mapitems extends ItemizedOverlay{
Context mContext;
private ArrayList mOverlays = new ArrayList();
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();
}
}

//编辑:我仍然遇到这个问题. Bounty适合任何能够解释为什么我会遇到这种错误的人,以及我该如何纠正呢?

// edit2:似乎过去的答案允许我点击该项目,但没有在mapview中显示其图标..任何人都知道为什么?

解决方法:

查看代码,您可能会调用简单的构造函数

public Mapitems(Drawable defaultMarker)

此构造函数不设置mContext,这就是您获得NullPointerException的原因.
添加像mCOntext= new Context()或mCOntext= android.content.getApplicationContext()这样的行可能会解决问题.

也可以将null参数提供给其他构造函数

public Mapitems(Drawable defaultMarker, Context context)

在分配mContext时插入空检查,并在必要时提供默认上下文可以解决问题.

构造函数看起来像这样:

public Mapitems(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
mCOntext= android.content.getApplicationContext();
// or: mCOntext= new Context();
}
public Mapitems(Drawable defaultMarker, Context context) {
super(defaultMarker);
if(cOntext==null)
mCOntext= android.content.getApplicationContext();
// or: mCOntext= new Context();
mCOntext= context;
}

希望这能解决你的问题.


推荐阅读
author-avatar
手机用户2602898385
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有