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 :

Afficher contenu ArrayList


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut Afficher contenu ArrayList
    Bonjour à tous, j'aimerais parcourir une ArrayList nommé info et afficher le contenu dans des toast tout en conservant ces valeurs dans des variables String différentes.

    Mon ArrayList contient :

    "Test1"

    "Test2"

    "Test3"

    Mais lorsque j'essaye de les afficher j'obtient

    "["Test1"]"

    "["Test2"]"

    "["Test3"]"

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            	 Toast.makeText(MainActivity.this, info.get(0).toString(), 0).show(); 
            	 msg=info.get(0).toString();
            	 Toast.makeText(MainActivity.this, info.get(1).toString(), 0).show(); 
            	 msg1=info.get(1).toString();
            	 Toast.makeText(MainActivity.this, info.get(2).toString(), 0).show(); 
            	 msg2=info.get(2).toString();
    Savez-vous pourquoi des crochets sont ajoutés ?

    Merci d'avance

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Ca vient surement de l'implémentation de la méthode toString de ton objet.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Je ne vois pas ce que tu veux dire par implémentation de la méthode toString de ton objet?

    J'avais essayé ça aussi et ça marchait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     for (ArrayList v : info)
            	 {
            		// msg=v.get(0).toString();
            		 Toast.makeText(MainActivity.this, v.get(0).toString(), 0).show(); 
     
            	 }

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    v.get(0) te renvoie un objet dont la méthode toString a surement été redéfinie.
    Regarde la classe de cette objet et sa méthode toString.

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 144
    Points : 118
    Points
    118
    Par défaut
    Tu ne montre pas beaucoup de code, donc c'est dur à dire.
    Mais si tu utilise bien un ArrayList<String>, c'est étrange. Et dans ce cas là aussi, pas besoin de toString.

    Regarde ce bout de code ci-dessous, et compare avec ce que tu as.

    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
     
                    List<String> info = new ArrayList<String>();
     
                    // pour ajouter
    		info.add("un");
    		info.add("deux");
     
     
    		// parcourir avec une boucle
    		for (String message : info)
    		{
    			Toast.makeText(MainActivity.this, message, 0).show();
    		}
     
     
    		// ou récupérer un message précis avec un indice
    		Toast.makeText(MainActivity.this, info.get(0), 0).show();

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Je vous remercie de vos réponses, j'ai trouvé la solution un peu par hasard.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	//ArrayList chargé dans une autre méthode
    	ArrayList<ArrayList> info = new ArrayList<ArrayList>();
    	String msgPrincipal;
    	String msgRepOui;
    	String msgRepNon;
     
    ....
     
            	 msgPrincipal=info.get(0).get(0).toString();
            	 msgRepOui=info.get(1).get(0).toString();
            	 msgRepNon=info.get(2).get(0).toString();
    Cela dit, si vous avez des explications elles sont les bienvenue .

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 144
    Points : 118
    Points
    118
    Par défaut
    C'est tout à fait normal en fait, tu as une erreur lors de la création de ton ArrayList.

    Citation Envoyé par Official Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	//ArrayList chargé dans une autre méthode
    	ArrayList<ArrayList> info = new ArrayList<ArrayList>();
    ===>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	//ArrayList chargé dans une autre méthode
    	ArrayList<String> info = new ArrayList<String>();

    Ce que j'ai mis en gras, rouge, c'est le type de l'objet contenu dans ton arrayList : il faut donc mettre String (si tu y stocke du texte) et non remettre ArrayList.
    Actuellement, tu as en fait une liste qui contient une liste qui contient du texte

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    D'accord je te remercie gilloddon .

    Oui c'est normal que mon ArrayList soit construite comme ça. Je voulais construire une ArrayList qui contiendrait une autre ArrayList qui contiendrait de la chaine de caractère.

    Mais en regardant mon code ça ne me servait à rien de la déclarer comme je l'ai fait. J'obtiens la même chose en la déclarant comme tu l'as fait.

    Merci .

  9. #9
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<ArrayList> info = new ArrayList<ArrayList>();

    La réponse est là. La méthode toString() d'une ArrayList affiche par défaut des crochets autour de son contenu.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. afficher contenu Arraylist dans jsp
    Par maximeratus dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 15/11/2010, 22h50
  2. Afficher contenu de Arraylist dans java
    Par aminos88 dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 06/06/2009, 09h35
  3. [Struts] Afficher une ArrayList sur plusieurs pages
    Par tshupaka dans le forum Struts 1
    Réponses: 5
    Dernier message: 18/03/2006, 17h21
  4. Réponses: 2
    Dernier message: 09/09/2005, 10h06
  5. [process] Afficher contenu gestionnaire des tâches
    Par keny dans le forum C++Builder
    Réponses: 3
    Dernier message: 07/07/2005, 17h56

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