0

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);

            }
4

2 に答える 2

0

あなたのリストがnullだからです。修理:

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

また、PlaceListはリスト内の1つの要素にすぎないため、PlacesListの名前をPlaceに変更することもできます。

于 2013-01-09T23:30:32.503 に答える
0

あなたが行方不明です:

places = new ArrayList<PlacesList>();

また

places = new LinkedList<PlacesList>();

Listでありinterface、オブジェクトを作成するために直接使用することはできません。代わりに子クラスを使用する必要があります。

于 2013-01-09T23:30:32.660 に答える