【问题标题】:Add element to Map of String, Arraylist将元素添加到 String、Arraylist 的 Map
【发布时间】:2015-04-05 03:29:26
【问题描述】:

使用适用于 Android 的 Google Maps API (v2),我正在尝试将一些国家/地区多边形近似值存储到数据结构中,特别是使用字符串作为键(国家/地区名称)的地图和 PolygonOptions 的 ArrayList。

这个 var 是私有的,由以下人员声明:

private Map<String, ArrayList<PolygonOptions>> worldMap;

但是当我尝试在以下函数中使用 PolygonOption 填充代码时,我的代码崩溃了:

private void addSomeCountry() {
        ArrayList <PolygonOptions> MyPoli = new ArrayList<PolygonOptions>();
        PolygonOptions rectOptions = new PolygonOptions()
                .add(new LatLng(42.569962, 1.78172 ))
                .add(new LatLng(42.509438, 1.723611))  
                .add(new LatLng(42.601944, 1.445833))  
                .add(new LatLng(42.569962, 1.78172)) 
                .fillColor(Color.TRANSPARENT)
                .strokeColor(Color.CYAN);
        MyPoli.add(rectOptions);
        worldMap.put("Andorra", MyPoli);
    }

具体来说,它会因以下错误而崩溃:

04-04 21:20:30.335  22562-22562/otorrillas.geography E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: otorrillas.geography, PID: 22562
Caused by: java.lang.NullPointerException
             at otorrillas.geography.DataSaver.addSomeCountry(DataSaver.java:49)
             at otorrillas.geography.DataSaver.onCreate(DataSaver.java:32)

我做错了吗?

【问题讨论】:

    标签: java android google-maps


    【解决方案1】:

    我没有看到你在任何地方初始化 worldMap

    private Map<String, ArrayList<PolygonOptions>> worldMap = new HashMap<>();
    

    应该这样做。

    【讨论】:

    • 是的,确实如此。谢谢你:)
    猜你喜欢
    • 2021-03-19
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    相关资源
    最近更新 更多