Bonjour à tous,

Je souhaite afficher des éléments (d'un tableau/objet json) que je place dans une liste de String affichée dans une listView. Mais une fois sur 7 environ, cela n'affiche rien et cela en étant certain que le tableau/objet d'où provient la liste n'est pas vide. L'adapter de temps en temps ne s'associe pas avec la listeView (je suis à peu près certain que la liste de chaine de caractères, n'est pas vide non plus).
Je ne comprends pas pourquoi.
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
68
69
70
71
72
73
o136=new AsyncTask<Void,Void,Void>(){protected Void doInBackground(Void... params){
 
     try {Thread.sleep(tempsC);
	  ConnectivityManager connMgr = (ConnectivityManager)
          getSystemService(Context.CONNECTIVITY_SERVICE);
          NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
          if (networkInfo != null && networkInfo.isConnected()) {
 
 
           resultj2[compteur] = downloadUrl("http://www.monsite.fr/script.php");
	   //download json objet
           }  
	   } 
    catch (Exception e) {}
 
     return null;}
         protected void onPostExecute(Void result) {
             super.onPostExecute(result);
             try{
 
             if ((resultj2[compteur]==null)||(resultj2[compteur].length()<25)){}
             else { //traitement json object...
             JSONArray jArray = new JSONArray(resultj2[compteur]);
             for(int i=0;i<jArray.length();i++){
                JSONObject json_data = jArray.getJSONObject(i);
                String luga5=json_data.getString("mi");
		String luga=json_data.getString("unelocalisation");
                String confirme=json_data.getString("confirmation");
                String luga1=luga.substring(0,luga.indexOf("dac"));
                String luga2=luga.substring(luga.indexOf("dac")+3);
                String luga3=json_data.getString("undiscours");
                String luga6=json_data.getString("noting");
                String lugaid=json_data.getString("id");
		Double []  araytemp={Double.parseDouble(luga1),Double.parseDouble(luga2),Double.parseDouble(confirme),Double.parseDouble(luga6)};
		String []  araytempString={luga5,luga3,lugaid};
		lugar2.add(araytemp);
                lugar2String.add(araytempString);
		}
 
             if ((lugar2 != null) && (lugar2.size() > 0)) {
 
                 for (int w = 0; w < lugar2.size(); w++) {
                	Double[] coord = (Double[]) lugar2.elementAt(w);Double luga6=coord[3];
                	String[] coordString = (String[]) lugar2String.elementAt(w);
			String luga5=coordString[0];String luga3=coordString[1];String lugaid=coordString[2];
			if ( !listtj.contains(lugaid)){          	
				listt.add(luga3);listtj.add(lugaid);listtn.add(luga6);
				listtp.add(luga5);listtd.add(coord[0]);liste.add(coord[1]);insertList=true;}
                        //insertNouveauxElements dans la liste        
                }}lugar2.removeAllElements();
}}  catch (Exception e) {insertList=false;} 
 
             }}}.execute();  
 
             o146=new AsyncTask<Void,Void,Void>(){protected Void doInBackground(Void... params){
 
             try {Thread.sleep(10000);
             }
             catch (Exception e) {
 
             }
 
             return null;}
                 protected void onPostExecute(Void result) {
                     super.onPostExecute(result); 
                     if (( insertList==true )&&(lalista==true)&&(listt!=null)||(( listt).size()>1)&&(aaaaaa==null)){
				aaaaaa=new ArrayAdapter<String>(defens.this,android.R.layout.simple_list_item_1,listt);  
				lalistaa.setAdapter(aaaaaa); 
				lalista=false;//a crée l'adapter 'aaaaaa'
                     }else{if(aaaaaa!=null){
                    	 aaaaaa.notifyDataSetChanged(); //Dans le cas où il y ait des élémentsnouveaux dans la liste
			 lalistaa.setAdapter(aaaaaa);// si j'enlève cette ligne c'est presque pareil
			 }}}}.execute();
Merci