Android:OverlayItem导致null

时间:2012-02-22 10:26:30

标签: android google-maps

我在运行此代码时遇到NullPointerException: 我不知道我做了什么来触发这个例外。 try-catch语句之前没有问题。 logcat还显示在代码的placesOverlay部分中发生的错误。

private OverlayItem[] placesOverlay;
ArrayList<Places> arrPlace = new ArrayList<Places>();
.
//other codes
.
.

JSONArray jArray = new JSONArray(response);
    for(int i = 0; i < jArray.length() ; i++)
    {       
     Places place = new Places();
    JSONObject jObj = jArray.getJSONObject(i);
    place.setPlace(
            jObj.optString("placeID"), 
            jObj.optString("placeName"), 
            jObj.optString("placeType"),
            jObj.optString("placeLat"),
            jObj.optString("placeLng"),
            jObj.optString("placePict"),
            jObj.optString("placeRegion"));

            arrPlace.add(place);
try{

placesOverlay[i] = new OverlayItem(
new GeoPoint(
                (int)(Double.parseDouble(arrPlace.get(i).getLat())*1E6),
                (int)(Double.parseDouble(arrPlace.get(i).getLng())*1E6)), 
                arrPlace.get(i).getPlaceName(), 
                arrPlace.get(i).getType());

}catch(Exception ex){
Log.e("log_g",""+ex.getMessage());
}

logcat的:

02-22 18:40:27.985: E/log_g(9909): null
02-22 18:40:27.985: E/log_g(9909): null
02-22 18:40:27.985: E/log_g(9909): null
02-22 18:40:27.985: E/log_g(9909): null

1 个答案:

答案 0 :(得分:0)

愚蠢的错误..它应该是:private OverlayItem [] placesOverlay = new OverlayItem [100];但不建议在这里使用数组。 ArrayList更合适。