将元素添加到String of String,Arraylist

时间:2015-04-04 19:28:14

标签: java android google-maps

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

此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)

我做错了吗?

1 个答案:

答案 0 :(得分:2)

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

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

应该这样做。