java – Context null指针
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Context null指针,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1961字,纯文字阅读大概需要3分钟。
内容图文
![java – Context null指针](/upload/InfoBanner/zyjiaocheng/821/1e80557adbb24b07ae8c73545cc600e3.jpg)
我一直在关注这个教程:http://developer.android.com/resources/tutorials/views/hello-mapview.html
但在onTap mContext中抛出一个NullPointerException ..有谁知道为什么?这是我的代码..
public class Mapitems extends ItemizedOverlay{
Context mContext;
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
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;
}
希望这能解决你的问题.
内容总结
以上是互联网集市为您收集整理的java – Context null指针全部内容,希望文章能够帮你解决java – Context null指针所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。