0

我创建了一个名为 Placeslist 的类,当我尝试创建 Placeslist 列表并将对象保存在其中时,我得到了Android.java.lang.NullPointerException This is 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);

            }
4

2 回答 2

0

因为您的列表为空。使固定:

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

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

于 2013-01-09T23:30:32.503 回答
0

你错过了:

places = new ArrayList<PlacesList>();

或者

places = new LinkedList<PlacesList>();

List是一个interface并且不能直接用于创建对象。应该使用子类。

于 2013-01-09T23:30:32.660 回答