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.
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
Partager