Erreur de listView avec lecture de JSON
Bonjour,
Alors je vous explique j'ai une fonction qui me permet de récuperer des informations d'un web service en JSON, jusqu'a la pas de soucis, après mon but est de mettre ses informations dans une listview avec un layout modifier. La est le problème avec la boucle ci-dessous il m'affiche bien toute mes entrées mais ce sont toujours les même .... Je pense que cela vient de la position mais je ne vois pas comment résoudre le problème si vous avez une idée.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
public void retourLivraison(StringBuilder sb) {
//appel du json + remplissage liste
JsonElement json = new JsonParser().parse(sb.toString());
JsonObject jobj = json.getAsJsonObject();
ListView listLiv = (ListView) findViewById(R.id.list_liv);
JsonObject joLivs = jobj.getAsJsonObject("livraisons");
final JsonArray jsonArray = joLivs.getAsJsonArray("livraison");
for (int i = 0; i < jsonArray.size(); i++) {
final JsonObject object1 = (JsonObject) jsonArray.get(i);
//String test = object1.get("nom_client").toString();
//alertmsg("Test", "test: " + test);
class CustomAdapter extends BaseAdapter {
@Override
public int getCount() {
return jsonArray.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = getLayoutInflater().inflate(R.layout.layout_livraison, null);
ImageView statut = (ImageView) convertView.findViewById(R.id.statut);
TextView client = (TextView) convertView.findViewById(R.id.client);
TextView adresse = (TextView) convertView.findViewById(R.id.adresse);
TextView ville = (TextView) convertView.findViewById(R.id.ville);
if(object1.get("statut_livraison").toString() == "1")
{
statut.setImageResource(R.drawable.circle_green);
}else
{
statut.setImageResource(R.drawable.circle_red);
}
client.setText(object1.get("nom_client").toString());
adresse.setText(object1.get("adresse1_livraison").toString().concat(object1.get("adresse2_livraison").toString()));
ville.setText(object1.get("cp_livraison").toString().concat(object1.get("ville_livraison").toString()));
return convertView;
}
}
alertmsg("statut", "staut: " +object1.get("nom_client").toString());
CustomAdapter customAdapter = new CustomAdapter();
listLiv.setAdapter(customAdapter);
}
} |
Merci pour votre aide