我创建了一个名为Placeslist的类,当我尝试列出Placeslist并在其中保存对象时,我得到了 Android.java.lang.NullPointerException 这是placeslist类
public class Placeslist {
@Key
public String status;
@Key
public String id;
@Key
public String name;
@Key
public String reference;
@Key
public double lat;
@Key
public double lon;
public Placeslist(String status,String id,String name,String reference,double lat,double lon) {
// TODO Auto-generated constructor stub
this.status=status;
this.id=id;
this.name=name;
this.reference=reference;
this.lat=lat;
this.lon=lon;
}
这是我尝试在列表中保存对象时的代码
Placeslist placeslist=null;
String data = EntityUtils.toString(response.getEntity());
JSONObject jsonObj = new JSONObject(data);
List<Placeslist>places=null;
JSONArray results = jsonObj.getJSONArray("results");
for (int i = 0; i < results.length(); i++) {
JSONObject result = results.getJSONObject(i);
String name = result.getString("name");
String id = result.getString("id");
String reference = result.getString("reference");
JSONObject latitudes = result.getJSONObject("geometry")
.getJSONObject("location");
double lon = latitudes.getDouble("lng");
double lat = latitudes.getDouble("lat");
placeslist=new Placeslist("OK", id, name, reference, lat, lon);
places.add(placeslist);
}
答案 0 :(得分:0)
因为您的列表为空。修正:
List<Placeslist>places = new ArrayList<Placeslist>();
此外,您可以将PlacesList重命名为Place,因为PlaceList只是列表中的一个元素。
答案 1 :(得分:0)
你错过了:
places = new ArrayList<PlacesList>();
或
places = new LinkedList<PlacesList>();
List
是interface
,不能直接用于创建对象。应该使用子类。