我在运行此代码时遇到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
答案 0 :(得分:0)
愚蠢的错误..它应该是:private OverlayItem [] placesOverlay = new OverlayItem [100];但不建议在这里使用数组。 ArrayList更合适。