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 :

passage d'une arraylist d'une activité à une autre


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 179
    Points : 97
    Points
    97
    Par défaut passage d'une arraylist d'une activité à une autre
    Bonjour,
    je veux passer le contenu d'une "arraylist" dans une autre activité
    voici mes codes :

    tout d'abord je créer ma liste avec une requête

    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
     
     /* Charge le contenu de la table travail 
         * et retourne ce contenu sous la forme d'une liste de NOM + " " + numchassis + NUMSTOCK;
         */
        public ArrayList<String> getRecupModif() {
            ArrayList<String> output = new ArrayList<String>();
            String[] colonnesBRecup = new String[] { "nom", "date_jour", "num_stock", "num_chassis",
            		"type", "serie", "couleur", "pneus", "portes", "km_compteur", "radio",
            		"cles", "reserve_gare", "nota"};
     
            Cursor cursorResults = db.query(TABLE_TRAVAIL, colonnesBRecup, null,
                    null, null, null, "nom , num_stock ,num_chassis", null);
            if (null != cursorResults) {
                if (cursorResults.moveToFirst()) {
     
                	do {
                        int columnIdxNom = cursorResults.getColumnIndex("nom");
                        int columnIdxDate_jour = cursorResults.getColumnIndex("date_jour");
                        int columnIdxNumstock = cursorResults.getColumnIndex("num_stock");
                        int columnIdxNumchassis = cursorResults.getColumnIndex("num_chassis");
                        int columnIdxType = cursorResults.getColumnIndex("type");
                        int columnIdxSerie = cursorResults.getColumnIndex("serie");
                        int columnIdxCouleur = cursorResults.getColumnIndex("couleur");
                        int columnIdxPneus = cursorResults.getColumnIndex("pneus");
                        int columnIdxPortes = cursorResults.getColumnIndex("portes");
                        int columnIdxKm_compteur = cursorResults.getColumnIndex("km_compteur");
                        int columnIdxRadio = cursorResults.getColumnIndex("radio");
                        int columnIdxCles = cursorResults.getColumnIndex("cles");
                        int columnIdxReserve_gare = cursorResults.getColumnIndex("reserve_gare");
                        int columnIdxNota = cursorResults.getColumnIndex("nota");
     
                        String nom = cursorResults.getString(columnIdxNom);
                        String date_jour = cursorResults.getString(columnIdxDate_jour);
                        String numstock = cursorResults.getString(columnIdxNumstock);
                        String numchassis = cursorResults.getString(columnIdxNumchassis);
                        String type = cursorResults.getString(columnIdxType);
                        String serie = cursorResults.getString(columnIdxSerie);
                        String couleur = cursorResults.getString(columnIdxCouleur);
                        String pneus = cursorResults.getString(columnIdxPneus);
                        String portes = cursorResults.getString(columnIdxPortes);
                        String km_compteur = cursorResults.getString(columnIdxKm_compteur);
                        String radio = cursorResults.getString(columnIdxRadio);
                        String cles = cursorResults.getString(columnIdxCles);
                        String reserve_gare = cursorResults.getString(columnIdxReserve_gare);
                        String nota = cursorResults.getString(columnIdxNota);
     
     
                        output.add(nom);
                        output.add(date_jour);
                        output.add(numstock);
                        output.add(numchassis);
                        output.add(type);
                        output.add(serie);
                        output.add(couleur);
                        output.add(pneus);
                        output.add(portes);
                        output.add(km_compteur);
                        output.add(radio);
                        output.add(cles);
                        output.add(reserve_gare);
                        output.add(nota);
     
     
                    } while (cursorResults.moveToNext());
                }  
            }
     
            return output;
        }
    dans mon interface je choisi l'action à faire pour passer ma liste


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    case R.id.itemmodifVehivule:
        	  Intent lancecranmodif = new Intent(this, modif_vehicule.class);
        	  //création de l'objet qui va permettre de passer le tableau
        	  Bundle objetbundle = new Bundle();
        	  objetbundle.putStringArrayList(null,db.getRecupModif());
        	  //on passe l'objet à l'activitée
        	  lancecranmodif.putExtras(objetbundle);
        	  startActivity(lancecranmodif);
     
     
        	  break;
    et enfin je récupère la liste pour l'affecter aux champs concernés dans l'activité "lancecranmodif"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //récupération de mes différents champs 
    		EditText  textvalnumchassis  = (EditText)this.findViewById(R.id.editchassis);
    		Bundle objetbundle = this.getIntent().getExtras();
    		//récupération de la valeur
    		String valnumchassis = objetbundle.getString("nom");
    		//renseignement de mes champs dans la boite de saisie
    		textvalnumchassis.setText(valnumchassis);
    j'ai un résultat null

    je pense que cela vient du fait que je construit une arraylist et que je récupère mal celle ci
    merci de m'aider

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     Bundle objetbundle = new Bundle();
        	  objetbundle.putStringArrayList(null,db.getRecupModif());
        	  //on passe l'objet à l'activitée
        	  lancecranmodif.putExtras(objetbundle);
        	  startActivity(lancecranmodif);
    Ca ne peut pas marcher , jamais tu précise la "key" dans ton bundle.

    Pourquoi tu te compliques la vie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lancecranmodif.putStringArrayListExtra("stringarray",db.getRecupModif());
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Bundle objetbundle = this.getIntent().getExtras();
    		//récupération de la valeur
    		ArrayList<String> nom = objetbundle.getStringArrayListExtra("stringarray");
                   // de là tu récupère la chaîne que tu souhaites dans ta liste
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 179
    Points : 97
    Points
    97
    Par défaut RE
    merci pour ton aide
    tout fonctionne

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/06/2015, 11h40
  2. Réponses: 10
    Dernier message: 29/10/2013, 16h24
  3. trier une liste d'objets dans une ArrayList
    Par sandrine49 dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 13/10/2008, 08h59
  4. Afficher une liste déroulante (:select) avec une ArrayList
    Par tompalmeras dans le forum Struts 2
    Réponses: 3
    Dernier message: 28/04/2008, 21h15
  5. Réponses: 3
    Dernier message: 16/11/2007, 12h28

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