保存在列表中时出现异常

时间:2013-01-09 23:28:17

标签: android list

我创建了一个名为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);

            }

2 个答案:

答案 0 :(得分:0)

因为您的列表为空。修正:

List<Placeslist>places = new ArrayList<Placeslist>();

此外,您可以将PlacesList重命名为Place,因为PlaceList只是列表中的一个元素。

答案 1 :(得分:0)

你错过了:

places = new ArrayList<PlacesList>();

places = new LinkedList<PlacesList>();

Listinterface,不能直接用于创建对象。应该使用子类。