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

Composants graphiques Android Discussion :

Récupérer des informations dans une ListView (par exemple un ID)


Sujet :

Composants graphiques Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Morbihan (Bretagne)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 25
    Points : 26
    Points
    26
    Par défaut Récupérer des informations dans une ListView (par exemple un ID)
    Bonjour,

    je souhaiterai récupérer des informations lors d'un clique sur un élément dans ma listview. Comme je dois faire des opérations en BDD, je ne souhaite pas avoir sa position, mais plutôt un ID propre à l'objet.

    Voilà la partie de mon code correspondant :

    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
     
    			try {
     
    	                for(int i=0;i<result.length();i++){
     
    	                	JSONObject json_data = result.getJSONObject(i);
     
     
    	                	element.add(createItem("ELEMENT N°"+json_data.getInt("id"), "NAME : "+json_data.getString("name")+ "\nNAME2 : "+json_data.getString("name2")));
    	                }
     
    	                // creation de la liste personalisée et de l'adapter
    	                SeparatedListAdapter adapter = new SeparatedListAdapter(Activity.this);  
     
    	                adapter.addSection("Liste des éléments", new SimpleAdapter(Activity.this, element, R.layout.list_complex,   
    	                    new String[] { ITEM_TITLE, ITEM_CAPTION1 }, new int[] { R.id.list_complex_title, R.id.list_complex_caption1 }));  
     
    	                //Affichage de la liste
    	                ListView list = new ListView(Activity.this);  
    	                list.setAdapter(adapter);  
    	                Activity.this.setContentView(list); 
     
     
    	 		       // ListView Item Click Listener (Lorsque l'on clique sur la liste)
    	 		         list.setOnItemClickListener(new OnItemClickListener() {
     
    	 		             @Override
    	 		             public void onItemClick(AdapterView<?> parent, View view,
    	 		                int position, long id) {
     
    	 		            	Intent intent = new Intent(ticketReadActivity.this, DetailTicketActivity.class);
     
    	 		            	//Ici je voudrai récupérer l'ID inséré plus haut genre : element.get(id);
     
    	 		            	intent.putExtra("idEntry", id); 
    	 				startActivity(intent);
    	 		             }
     
     
    	 		        });
    Quelq'un pourrait m'éclairer sur la façon de procéder ?
    Merci d'avance.

  2. #2
    Membre averti Avatar de Neolex
    Homme Profil pro
    Recherche emploi Securité informatique
    Inscrit en
    Avril 2011
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Recherche emploi Securité informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 243
    Points : 333
    Points
    333
    Par défaut
    Bonjour ,
    tu peux faire ceci :
    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
     
    	 		       // ListView Item Click Listener (Lorsque l'on clique sur la liste)
    	 		         list.setOnItemClickListener(new OnItemClickListener() {
     
    	 		             @Override
    	 		             public void onItemClick(AdapterView<?> parent, View view,
    	 		                int position, long id) {
     
    	 		            	String id =(String) listView.getItemAtPosition(position); 
     
     
    	 		             }
     
     
    	 		        });
    Enfin l'adapter , je ne sais pas trop à quoi ressemble ta listview

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Morbihan (Bretagne)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 25
    Points : 26
    Points
    26
    Par défaut
    Merci, c'est bien ce que je veux seulement j’obtiens l'objet entier et je veux juste une partie de cette objet.
    Par exemple j'ai :

    OJBJET :
    {catpion=toto, title=2}
    Comment puis-je faire pour extraire juste 'title' par exemple ?

  4. #4
    Membre averti Avatar de Neolex
    Homme Profil pro
    Recherche emploi Securité informatique
    Inscrit en
    Avril 2011
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Recherche emploi Securité informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 243
    Points : 333
    Points
    333
    Par défaut
    Tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String title =listView.getItemAtPosition(position).getTitle();
    si tu as une méthode getTitle() dans ton objet .

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Morbihan (Bretagne)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 25
    Points : 26
    Points
    26
    Par défaut
    C'est encore moi
    Merci mais je n'ai pas de méthode dans la déclaration de mon item.
    Voici la déclaration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        //Creation de l'Item pour la listview
        public Map<String,?> createItem(String title, String caption1, String id) {  
            Map<String,String> item = new HashMap<String,String>();  
            item.put(ITEM_TITLE, title);  
            item.put(ITEM_CAPTION1, caption1); 
            item.put(ITEM_CAPTION2, id);
     
            return item;  
     
        }
    Et moi dans tout ça, je voudrai juste récupérer ITEM_CAPTION2.
    En faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list.getItemAtPosition(position)
    Comment puis-je faire du coup ? Ajouter une méthode get ? Oui mais comment ? Ou d'autres solutions ?

    Pour info lorsque j'affiche mon Item je vois bien tout les éléments, ici caption2 qui m'intéresse :
    Nom : Avec_titre.jpg
Affichages : 2171
Taille : 21,2 Ko

  6. #6
    Membre averti Avatar de Neolex
    Homme Profil pro
    Recherche emploi Securité informatique
    Inscrit en
    Avril 2011
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Recherche emploi Securité informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 243
    Points : 333
    Points
    333
    Par défaut
    Bonjour ,

    je ne suis pas sur de comprendre ta question mais pour recuperer le caption2 il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list.getItemAtPosition(position).get(ITEM_CAPTION2)

  7. #7
    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
    Citation Envoyé par Berlo56 Voir le message
    C'est encore moi
    Merci mais je n'ai pas de méthode dans la déclaration de mon item.
    Voici la déclaration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        //Creation de l'Item pour la listview
        public Map<String,?> createItem(String title, String caption1, String id) {  
            Map<String,String> item = new HashMap<String,String>();  
            item.put(ITEM_TITLE, title);  
            item.put(ITEM_CAPTION1, caption1); 
            item.put(ITEM_CAPTION2, id);
     
            return item;  
     
        }
    Et moi dans tout ça, je voudrai juste récupérer ITEM_CAPTION2.
    En faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    list.getItemAtPosition(position)
    Comment puis-je faire du coup ? Ajouter une méthode get ? Oui mais comment ? Ou d'autres solutions ?

    Pour info lorsque j'affiche mon Item je vois bien tout les éléments, ici caption2 qui m'intéresse :
    Nom : Avec_titre.jpg
Affichages : 2171
Taille : 21,2 Ko
    A tout hasard, essayes :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    HashMap<String,String> selected = (HashMap<String,String>) list.getItemAtPosition(position);
    String selected_id = selected.get(ITEM_CAPTION2);
    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

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Morbihan (Bretagne)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 25
    Points : 26
    Points
    26
    Par défaut
    Merci, c'est exactement ce que je voulais

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

Discussions similaires

  1. [RegEx] Récupérer des informations dans une regex
    Par ciols dans le forum Langage
    Réponses: 6
    Dernier message: 10/02/2014, 09h20
  2. Récupérer des controles dans une listview imbriquée
    Par ERICLEUN dans le forum ASP.NET
    Réponses: 6
    Dernier message: 12/11/2012, 18h26
  3. [PHP 4] Récupérer des informations dans une chaine 1,2,3,4,5
    Par Nheil dans le forum Langage
    Réponses: 4
    Dernier message: 30/11/2010, 11h05
  4. récupérer des informations d'une feuille et les placer dans une autre
    Par winclass dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/12/2008, 21h34
  5. Afficher des informations dans une ListView
    Par revero275 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/04/2007, 21h58

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