2016-07-29 8 views
1

Ich habe eine JSON-Antwort, die ich in einem ListView gedruckt. Es ist die Werte von JSON gedruckt, aber alle Wert nicht korrekt gedruckt.Einige JSON-Werte sind an falscher Stelle gedruckt.JSON Antwort nicht korrekt in Android Listview mit Volley

JSON Antwort:

``` 
[ 
    { 
     "HouseNo":"33333333", 
     "AreaName":"ghfhgfhg", 
     "Landmark":"", 

    }, 
    { 

     "HouseNo":"33333333", 
     "AreaName":"gfhgfh", 
     "Landmark":"", 

    } 
] 

`` `

Dies ist der Code für den spezifischen Wert zu holen:

StringRequest stringRequest = new StringRequest(Request.Method.POST,url, 
       new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 
         Log.d(TAG, response.toString()); 
         hidePDialog(); 




          try { 
           JSONArray jsonarray = new JSONArray(response); 
           for (int i = 0; i < jsonarray.length(); i++) { 
            JSONObject obj = jsonarray.getJSONObject(i); 
           Customer customer = new Customer(); 
           customer.setTitle(obj.getString("HouseNo")); 
           customer.setSerial(obj.getString("AreaName")); 
           customer.setService(obj.getString("Landmark")); 

           customerList.add(customer); 

          } 

         } catch (JSONException e) { 
           e.printStackTrace(); 
          } 

         // notifying list adapter about data changes 
         // so that it renders the list view with updated data 
         adapter.notifyDataSetChanged(); 
            } 
       }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       VolleyLog.d(TAG, "Error: " + error.getMessage()); 
       hidePDialog(); 

      } 
     }) 

einiger Antworten sind ok gedruckt; Aber anstelle einer Antwort gedruckt gedruckt andere Antwort.Wie kann dieses Problem gelöst werden?

+0

Zeigen Sie Ihren Adaptercode – Vickyexpert

+0

und fügen Sie Ihre Kundenmodellklasse hinzu – Pavya

Antwort

3

Ihre json Parsing-Code right.Try ist add() Methode in Adapterklasse außer Kraft zu setzen, wenn Ihr Adapter Klasse ArrayAdapter erstreckt.

@Override 
    public void add(Customer object) { 
     customerList.add(object); 
     super.add(object); 
    } 

Dies aktualisiert automatisch Ihre ListView.

Und wenn Sie den BaseAdapter verwenden. Dann kann Fehler in Model Klasse oder List-Objekt für Adapter verwendet werden.

1

können Sie Gson Bibliothek von Google verwenden für solche Umwandlungen

Customer c = new Gson().fromJson(json,new TypeToken<Customer>(){}.getType());