IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème d'affichage de données


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 17
    Points : 18
    Points
    18
    Par défaut Problème d'affichage de données
    Salut, je développe une application qui permet d'afficher des données de ma base de donnée en JSON. j'arrive à récupérer les informations et je les affiche dans le log mais les informations ne s'affichent pas dans mon activity, je ne sais vraiment pas où se trouve l'erreur. Aidez moi svp car c'est urgent.
    Voici comment je procède
    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
    protected String doInBackground(String... args) {
     
    			List<NameValuePair> params = new ArrayList<NameValuePair>();
     
    			JSONObject json = jParser.makeHttpRequest(url_all_news, "GET", params);
    			// voir la reponse dans le log cat
    	        Log.d("Toutes les infos: ", json.toString());
     
    	        try {
    	               // Checking for SUCCESS TAG
    	               int success = json.getInt(TAG_SUCCESS);
     
    	               if (success == 1) {
    	                   // info found
    	                   // Getting Array of informations
    	                   information = json.getJSONArray(TAG_ID);
     
    	                   // looping through All Products
    	                   for (int i = 0; i < information.length(); i++) {
    	                       JSONObject c = information.getJSONObject(i);
     
    	                       // Storing each json item in variable
    	                       String titre = c.getString(TAG_ID);
    	                       String desc = c.getString(TAG_TITRE);
     
    	                       // creating new HashMap
    	                       HashMap<String, String> map = new HashMap<String, String>();
     
    	                       // adding each child node to HashMap key => value
    	                       map.put(TAG_ID, titre);
    	                       map.put(TAG_TITRE, desc);
     
    	                       // adding HashList to ArrayList
    	                       InfosList.add(map);
    	                   }
    	               } else {
    	                   // no informations found
    	                   // Launch empty Activity
    	                   Intent i = new Intent(getApplicationContext(),
    	                         nouveau.class);
    	                   //Closing all previous activities
    	                   i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    	                   startActivity(i);
    	               }
    	           } catch (JSONException e) {
    	               e.printStackTrace();
    	           }
     
    	           return null;
    		}
     
    		protected void onPostExecute(String file_url){
     
    			pDialog.dismiss();
    			// updating UI from Background Thread
    	        runOnUiThread(new Runnable() {
    	               public void run() {
    	                   /**
                                * Updating parsed JSON data into ListView
                                * */
    	                   ListAdapter adapter = new SimpleAdapter(
    	                           MainActivity.this, InfosList,
    	                           R.layout.activity_main, new String[] {TAG_ID,TAG_TITRE},
    	                           new int[] {R.id.idInfo,R.id.txtInfo});
     
    	                   setListAdapter(adapter);
    	               }
     
    	        });
     
    		}
     
    	}

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    C'est difficile de répondre...
    As-tu essayé d'afficher les valeurs juste avant de les mettre dans la map ?


    Quelques petites remarques au passage :

    runOnUiThread(new Runnable() { ne sert ici à rien car tu te trouves déjà dans une méthode exécutée dans le thread principal (onPostExecute)

    Tu ne comprend apparement pas le fonctionnement d'une AsyncTask. Il faut normalement fournir trois types génériques pour cette classe : le type de données en entrée, le type de la progression, le type de données en sortie.
    Du coup je pense que tu devrais utiliser le triplet suivant et faire transiter tes objets par ce biais : <String, Void, Map<String, String>>

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    merci, j'ai résoudre mon problème mais j'ai un autre soucis, j'affiche les infos dans la listview et je voudrais au clic d'un item afficher les détails dans une autre activity. je procède ainsi:
    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
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
     
        				try {
        					List<NameValuePair> params = new ArrayList<NameValuePair>();
        					JSONObject json = jParser.makeHttpRequest(url_all_news, "GET", params);
     
        					int success1 = json.getInt(TAG_SUCCESS);
     
        					if (success1 == 1) {
        		            	   JSONArray information1 = json.getJSONArray("infos");
        		            	   JSONObject ob = information1.getJSONObject(position);
        		            	   Intent intent = new Intent(getApplicationContext(), nouveau.class);
        		            	   intent.putExtra("titre", ob.getString("TAG_TITRE"));
        		            	   intent.putExtra("description", ob.getString("TAG_DESC"));
        		            	   startActivity(intent);
        					}
     
    					} catch (JSONException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
     
        			}
    lorsque je clique sur un item l'application se ferme.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Comme à chaque fois, lorsqu'il y a une erreur, une stackTrace est la bienvenue.

Discussions similaires

  1. [MySQL] Problème d'affichage de données
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 11/08/2008, 00h06
  2. [MySQL] Problème d'affichage des données!
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/09/2006, 16h43
  3. Problème d'affichage de données avec crystal report
    Par napegadie dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 07/12/2005, 16h45
  4. problème d'affichage de données
    Par geof_leouf dans le forum Access
    Réponses: 6
    Dernier message: 11/10/2005, 10h23
  5. [JTable] Problème d'affichage des données
    Par ddams dans le forum Composants
    Réponses: 2
    Dernier message: 15/09/2004, 18h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo