Aller au contenu

probleme listview et JSON


vincetreize

Recommended Posts

bonjour bonjour alors voila je rencontre un souci lorsque je réccupere ma page JSON http://www.pebdev.eu/www/querymh.php?option=comunes

donc il la réccupere bien enssuite je la parse, enssuite je la stock dans un arraylist qui lui meme sera apres un listview le souci c'est qu'il me liste seulement la premiere commune voici mon code :

package com.testing.pack;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.R.string;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class testing extends Activity {



String url = "http://www.pebdev.eu/www/querymh.php?option=comunes";
String result;
ListView lvListe;







   /** Called when the activity is first created. 
   /**@return
    * @return **/
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

       ListView list = (ListView)findViewById(R.id.lvListe);
       ArrayList<String> results = new ArrayList<String>();






       StringBuffer stringBuffer = new StringBuffer("");
       BufferedReader bufferedReader = null;

       try
       {

       	HttpClient httpClient = new DefaultHttpClient();
       	HttpGet httpGet = new HttpGet();
       	URI uri = new URI(url);
       	httpGet.setURI(uri);
       	HttpResponse httpResponse = httpClient.execute(httpGet);
       	InputStream inputStream = httpResponse.getEntity().getContent();
       	bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
       	String ligneCodeHTML = bufferedReader.readLine();
       	while (ligneCodeHTML != null){
       		stringBuffer.append(ligneCodeHTML);
       		stringBuffer.append("\n");
       		ligneCodeHTML = bufferedReader.readLine();
       	}

       }catch (Exception e){
       	Log.e("Log_tag", "Erreur reccupération"+e.getMessage());
       }finally{
       	if (bufferedReader != null){
       		try{
   				bufferedReader.close();
   				result = stringBuffer.toString();
   			}catch(IOException e){
   	    		Log.e("Log_Tag", e.getMessage());    				
   			}
       	}
       }

       try
       {
       	JSONArray jArray = new JSONArray(result);
       	for(int i=0;i<jArray.length();i++){
       	    JSONObject json_data = jArray.getJSONObject(i);
       	    results.add((String) json_data.get("communeNom"));  
       	    list.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results));
          	}




       }
       catch(JSONException e){
       	Log.e("log", e.toString());
       }





   }
}

Lien vers le commentaire
Partager sur d’autres sites

Salut,

je pense que ton probleme vient du fait que tu ajoute ton adapter dans ta boucle lorsque tu lis le JSON.

for(int i=0;i<jArray.length();i++){

JSONObject json_data = jArray.getJSONObject(i);

results.add((String) json_data.get("communeNom"));

ici => list.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results));

}

essai de sortir le setadapter de ta boucle.

Bonne journée.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...