java - 扩展 OverlayItem 导致程序崩溃并出现 NullPointerException

标签 java android google-maps nullpointerexception itemizedoverlay

我有一个类,它扩展了 OverlayItem 以包含更多字段。我已经使用 PointOfInterest 类更改了程序中出现的所有 OverlayItem。

当我尝试运行适用于 OverlayItem 的相同程序时,在我的 ItemizedOverlay 类中调用 populate() 后,它崩溃并出现 nullpointerException。日志打印出正确的值。这是它崩溃的方法。

protected void addOverlay(PointOfInterest pointOfInterest) {

    mapOverlays.add(pointOfInterest);
    setLastFocusedIndex(-1);
    Log.d("Add Overlay", pointOfInterest.getDescription());
    populate(); <-- Crashes here
}

还有错误

12-06 17:29:03.610: E/AndroidRuntime(1822): java.lang.NullPointerException
12-06 17:29:03.610: E/AndroidRuntime(1822):     at com.google.android.maps.ItemizedOverlay.populate(ItemizedOverlay.java:312)
12-06 17:29:03.610: E/AndroidRuntime(1822):     at com.example.mapproject.OurItemizedOverlay.addOverlay(OurItemizedOverlay.java:108)
12-06 17:29:03.610: E/AndroidRuntime(1822):     at com.example.mapproject.MainActivity.addPointToMap(MainActivity.java:211)

有什么想法吗?谢谢!

最佳答案

我发现了,我没有提到传递给 addOverlay 方法的 PointOfInterest 是从 JSON 字符串创建的,因此构造函数包含

super(point, title, snippet)

从未被调用过。

我将其添加到我的 addOverlay 方法中,该方法似乎已对其进行排序!

protected void addOverlay(PointOfInterest pointOfInterest) {

    PointOfInterest pointOfInterest2 = new PointOfInterest(pointOfInterest.title,pointOfInterest.title,pointOfInterest.type,pointOfInterest.point,pointOfInterest.privateField);
    mapOverlays.add(pointOfInterest2);
    setLastFocusedIndex(-1);
    Log.d("Add Overlay", pointOfInterest2.getSnippet());
    populate();

}

关于java - 扩展 OverlayItem 导致程序崩溃并出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13749374/

相关文章:

java - 如何将 PCM 原始数据转换为 mp3 文件?

java - 如何将参数传递给java/android中的urlconnection?

android - 自动完成时放置自动完成错误 : OVER_QUERY_LIMIT

java - 如何使用 EON 和 PubNub Java API 创建实时图表?

java - 为什么 HashMap 中更高的负载因子会减少空间开销

java - AtomicInteger 和比较操作

java - AES 在 android 中使用 Base64 key 加密

java - 如何使用mapstruct映射到List<>

javascript - 我可以在 SQL 数据库中使用 Google Maps API 多边形形状吗

javascript - 传单弹出关闭按钮