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 :

Update listview depuis une activité


Sujet :

Composants graphiques Android

  1. #1
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut Update listview depuis une activité
    Bonjour,

    J'ai une class composée de la manière suivante : N°Engin, Visite, Commentaire

    Une listview affiche N°Engin, Visite et Commentaire. Ces données sont extraites d'un fichier excel, j'obtiens donc en moyenne 200 lignes, chaque ligne comporte un n°Engin, une visite et un commentaire qui est pour l'intant " ".

    J'aimerai pouvoir changer le commentaire et l'afficher dans la listview "dynamiquement". Je m'explique, si l'utilisateur souhaite mettre un commentaire sur un Engin le commentaire doit s'afficher dans la listview.

    Voilà je galère depuis déjà pas mal de temps, c'est pour cela que j'en appelle à votre aide.

    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
     
    String commentaire = newValue.toString();
     
                    if (preference.getKey().equals(MON_COM)) {
     
                        if (commentaire.equals("")) {
                            /*
                            Suppression de la ligne dans la BDD
                             */
                        } else {
                            ArrayList<Locom> myListCom = new ArrayList<Locom>();
                            Locom myCom;
                            myCom = new Locom(engin, visite, commentaire);
     
                            try {
                                dbHelper = new CommentaireDbAdapter(ChoixDMCP.this);
                                dbHelper.open();
                                dbHelper.createEntry(myCom);
     
                                dataAdapter.notifyDataSetChanged();
     
                            } catch (Exception e) {
                                Toast.makeText(ChoixDMCP.this, "Erreur !\nSQLite Database !", Toast.LENGTH_LONG).show();
                                System.out.println("Erreur SQLite Database !");
                            } finally {
                                Toast toast = Toast.makeText(ChoixDMCP.this, "Success !\nCommentaire enregistré dans la base de donnée !", Toast.LENGTH_SHORT);
                                toast.setGravity(Gravity.TOP | Gravity.LEFT, 0, 0);
                                toast.show();
                                System.out.println("Success, commentaire enregistré dans la base de donnée !");
                            }
     
                            myListCom.add(myCom);
     
                            try {
                                String sr = dbHelper.getCommentaire(engin, visite);
                                Toast.makeText(ChoixDMCP.this, sr, Toast.LENGTH_LONG).show();
                            } catch (SQLException e) {
                                e.printStackTrace();
                            }
     
                        }
                        dbHelper.close();
     
                    }

    PS: J'ai mis résolu à mon précédent post, concernant ce sujet, pour pouvoir être plus clair dans mes explications.
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

  2. #2
    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
    Il faut que tu invoques myListCom.add(myCom); avant dataAdapter.notifyDataSetChanged();
    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

  3. #3
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Merci de ta réponse cependant il ne se passe rien dans la listview je ne vois pas mon commentaire apparaitre :/

    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
    String commentaire = newValue.toString();
     
                    if (preference.getKey().equals(MON_COM)) {
     
                        if (commentaire.equals("")) {
                            /*
                            Suppression de la ligne dans la BDD
                             */
                        } else {
                            ArrayList<Locom> myListCom = new ArrayList<Locom>();
                            Locom myCom;
                            myCom = new Locom(engin, visite, commentaire);
     
                            try {
                                dbHelper = new CommentaireDbAdapter(ChoixDMCP.this);
                                dbHelper.open();
                                dbHelper.createEntry(myCom);
     
                                dataAdapter = new LocomAdpater(ChoixDMCP.this, myListCom);
     
                                String sr = dbHelper.getCommentaire(engin, visite);
     
                                Toast.makeText(ChoixDMCP.this, "Commentaire ajouté:" + sr, Toast.LENGTH_LONG).show();
     
                                myListCom.add(myCom);
                                dataAdapter.notifyDataSetChanged();
     
                                Toast toast = Toast.makeText(ChoixDMCP.this, "Success !\nCommentaire enregistré dans la base de donnée !", Toast.LENGTH_SHORT);
                                toast.setGravity(Gravity.TOP | Gravity.LEFT, 0, 0);
                                toast.show();
                                System.out.println("Success, commentaire enregistré dans la base de donnée !");
     
                            } catch (SQLException e) {
                                Toast.makeText(ChoixDMCP.this, "Erreur !\nSQLite Database !", Toast.LENGTH_LONG).show();
                                System.out.println("Erreur SQLite Database !");
                            }
     
                        }
                        dbHelper.close();
     
                    }
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

  4. #4
    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
    Apparemment tu as un objet null à la ligne 473 de ChoixDMCP.java
    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

  5. #5
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Hephaistos007 Voir le message
    Apparemment tu as un objet null à la ligne 473 de ChoixDMCP.java
    Oui pardon j'ai corrigé en meme temps que tu as posté, mais malheureusement la listview ne se refresh pas il ne se passe rien :/

    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
    String commentaire = newValue.toString();
     
                    if (preference.getKey().equals(MON_COM)) {
     
                        if (commentaire.equals("")) {
                            /*
                            Suppression de la ligne dans la BDD
                             */
                        } else {
                            ArrayList<Locom> myListCom = new ArrayList<Locom>();
                            Locom myCom;
                            myCom = new Locom(engin, visite, commentaire);
     
                            try {
                                dbHelper = new CommentaireDbAdapter(ChoixDMCP.this);
                                dbHelper.open();
                                dbHelper.createEntry(myCom);
     
                                dataAdapter = new LocomAdpater(ChoixDMCP.this, myListCom);
     
                                String sr = dbHelper.getCommentaire(engin, visite);
     
                                Toast.makeText(ChoixDMCP.this, "Commentaire ajouté:" + sr, Toast.LENGTH_LONG).show();
     
                                myListCom.add(myCom);
                                dataAdapter.notifyDataSetChanged();
     
                                Toast toast = Toast.makeText(ChoixDMCP.this, "Success !\nCommentaire enregistré dans la base de donnée !", Toast.LENGTH_SHORT);
                                toast.setGravity(Gravity.TOP | Gravity.LEFT, 0, 0);
                                toast.show();
                                System.out.println("Success, commentaire enregistré dans la base de donnée !");
     
                            } catch (SQLException e) {
                                Toast.makeText(ChoixDMCP.this, "Erreur !\nSQLite Database !", Toast.LENGTH_LONG).show();
                                System.out.println("Erreur SQLite Database !");
                            }
     
                        }
                        dbHelper.close();
     
                    }
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

  6. #6
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    essaies ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       myListCom.clear();
       myListCom.add(myCom);
       dataAdapter.notifyDataSetChanged();
    juste pour tester si cela marche.

    Eric

  7. #7
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par jeffray03 Voir le message
    salut,
    essaies ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       myListCom.clear();
       myListCom.add(myCom);
       dataAdapter.notifyDataSetChanged();
    juste pour tester si cela marche.

    Eric
    salut,

    j'ai déjà essayé, rien non plus :/
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

  8. #8
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    teste ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      myListCom.clear();
       myListCom.add(myCom);
       dataAdapter.notifyDataSetChanged();
            myListCom.invalidateViews();
            myListCom.refreshDrawableState();
    cela devrait marcher.
    eric

  9. #9
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par jeffray03 Voir le message
    salut,
    teste ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      myListCom.clear();
       myListCom.add(myCom);
       dataAdapter.notifyDataSetChanged();
            myListCom.invalidateViews();
            myListCom.refreshDrawableState();
    cela devrait marcher.
    eric
    myListCom ne fonctionne pas avec invalidateViews et refreshDrawableState :/
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

  10. #10
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par kader15 Voir le message
    myListCom ne fonctionne pas avec invalidateViews et refreshDrawableState :/
    Je pense savoir d'ou vient le problème, je refresh un mauvais adapter, mais je ne vois pas comment je pourrais refresh l'adapter de ma class principale

    startActivityForResult peut il être un moyen d'envoyer mon ArrayList à l'activité principale puis de refresh l'adapter depuis l'activité principale ?
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

  11. #11
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par kader15 Voir le message
    Je pense savoir d'ou vient le problème, je refresh un mauvais adapter, mais je ne vois pas comment je pourrais refresh l'adapter de ma class principale

    startActivityForResult peut il être un moyen d'envoyer mon ArrayList à l'activité principale puis de refresh l'adapter depuis l'activité principale ?
    UP !

    Je pense savoir d’où vient le problème, je refresh un mauvais adapter, mais je ne vois pas comment je pourrais refresh l'adapter de ma class principale en lui passant mon ArrayList<Locom> ?
    Je commence à désespéré, please Help me
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

  12. #12
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 262
    Points : 634
    Points
    634
    Par défaut
    [QUOTE]Je pense savoir d'ou vient le problème, je refresh un mauvais adapter, mais je ne vois pas comment je pourrais refresh l'adapter de ma class principale

    startActivityForResult peut il être un moyen d'envoyer mon ArrayList à l'activité principale puis de refresh l'adapter depuis l'activité principale ?[/QUOTE

    Bonjour Kader,

    A mon avis tu y presque, donc pas question de désespérer ! C'est bien possible de le faire dans la méthode startActivityForResult. Une fois que ton tableau est passé, tu le récupère dans ta méthode et du même coup tu crée un adapter à partir de ton tableau, tu lui affecte à ta liste et la rafraichit. Je pense que çà devrait marcher.

    __salut !
    Aujourd'hui apprenant, demain appreneur.
    N'accuse pas le puits d'être trop profond,
    c'est peut-être ta corde qui est trop courte

  13. #13
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    [QUOTE=lankoande;8595448]
    Je pense savoir d'ou vient le problème, je refresh un mauvais adapter, mais je ne vois pas comment je pourrais refresh l'adapter de ma class principale

    startActivityForResult peut il être un moyen d'envoyer mon ArrayList à l'activité principale puis de refresh l'adapter depuis l'activité principale ?[/QUOTE

    Bonjour Kader,

    A mon avis tu y presque, donc pas question de désespérer ! C'est bien possible de le faire dans la méthode startActivityForResult. Une fois que ton tableau est passé, tu le récupère dans ta méthode et du même coup tu crée un adapter à partir de ton tableau, tu lui affecte à ta liste et la rafraichit. Je pense que çà devrait marcher.

    __salut !
    Merci lankoande, mais j'ai essayé à de multiple reprise de faire passer mon ArrayList à mon Activité principale mais sans succès j'obtiens une erreur runtimeException :

    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
    04-11 13:49:19.920 29179-29179/com.mycoprod.akhetib.mycoprod E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                   java.lang.RuntimeException: Parcel: unable to marshal value com.mycoprod.akhetib.mycoprod.Locom@4309c4a0
                                                                                       at android.os.Parcel.writeValue(Parcel.java:1235)
                                                                                       at android.os.Parcel.writeList(Parcel.java:622)
                                                                                       at android.os.Parcel.writeValue(Parcel.java:1195)
                                                                                       at android.os.Parcel.writeMapInternal(Parcel.java:591)
                                                                                       at android.os.Bundle.writeToParcel(Bundle.java:1646)
                                                                                       at android.os.Parcel.writeBundle(Parcel.java:605)
                                                                                       at android.content.Intent.writeToParcel(Intent.java:7353)
                                                                                       at android.app.ActivityManagerProxy.finishActivity(ActivityManagerNative.java:2414)
                                                                                       at android.app.Activity.finish(Activity.java:4296)
                                                                                       at com.mycoprod.akhetib.mycoprod.ChoixDMCP$5.onPreferenceChange(ChoixDMCP.java:532)
                                                                                       at android.preference.Preference.callChangeListener(Preference.java:903)
                                                                                       at android.preference.EditTextPreference.onDialogClosed(EditTextPreference.java:147)
                                                                                       at android.preference.DialogPreference.onDismiss(DialogPreference.java:403)
                                                                                       at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1262)
                                                                                       at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                       at android.os.Looper.loop(Looper.java:176)
                                                                                       at android.app.ActivityThread.main(ActivityThread.java:5419)
                                                                                       at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                       at java.lang.reflect.Method.invoke(Method.java:525)
                                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
                                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
                                                                                       at dalvik.system.NativeStart.main(Native Method)

    Activité secondaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    529:                Intent arrayList = new Intent();
    530:                arrayList.putExtra("myArrayList", myListCom);
    531:                setResult(RESULT_OK, arrayList);
    532:                ChoixDMCP.this.finish();

    Activité Principale:
    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
              Intent ChoixDMCPActivity = new Intent(DisplayMyCoProd.this, ChoixDMCP.class);
                    ChoixDMCPActivity.putExtra("PATHFILE", pathFile);
                    ChoixDMCPActivity.putExtra("EXTRA_TV_E", engin);
                    ChoixDMCPActivity.putExtra("EXTRA_TV_V", visite);
                    startActivityForResult(ChoixDMCPActivity, 1);
                }
            }
        }
     
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (requestCode == 1) {
                if (resultCode == Activity.RESULT_OK) {
                    Bundle b = data.getExtras();
                    if (b != null) {
                        ArrayList<Locom> result = (ArrayList<Locom>) b.getSerializable("myArrayList");
                        populate(result);
                        System.out.println("ArrayList RESULT OK");
                    }
                } else if (resultCode == 0) {
                    System.out.println("ArrrayList RESULT CANCELLED");
                }
            }
        }
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

  14. #14
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 262
    Points : 634
    Points
    634
    Par défaut
    Bonsoir Kader,

    L'erreur dans la méthode onActivityResult(). En fait c'est la manière de récupérer le tableau qui à mon avis te cause problème. Tu devrais utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                intent.putCharSequenceArrayListExtra("tableau");//Pour envoie
               intent.getCharSequenceArrayListExtra("tableau");//Pour la récupération
    Pas la peine d'utiliser le bundle, utilise diretement intent passé à la fonction.


    ___salut !
    Aujourd'hui apprenant, demain appreneur.
    N'accuse pas le puits d'être trop profond,
    c'est peut-être ta corde qui est trop courte

  15. #15
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par lankoande Voir le message
    Bonsoir Kader,

    L'erreur dans la méthode onActivityResult(). En fait c'est la manière de récupérer le tableau qui à mon avis te cause problème. Tu devrais utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                intent.putCharSequenceArrayListExtra("tableau");//Pour envoie
               intent.getCharSequenceArrayListExtra("tableau");//Pour la récupération
    Pas la peine d'utiliser le bundle, utilise diretement intent passé à la fonction.


    ___salut !
    Bonjour Lankoande,

    Malheureusement cela ne fonctionne pas car ce que je veux envoyer n'est pas un tableau de caractère. J'ai essayé plusieurs manières de faire passer mon ArrayList<Locom>, mais en vain.
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

  16. #16
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 262
    Points : 634
    Points
    634
    Par défaut
    Bonsoir Kader5,

    Ah je vois que tu as du mal avec cette partie. Si je ne me trompe, je pense que pour Parceller des Objets d'une classe, il

    faudrait que cette classe implemente l'interface Serializable. Je ne sais pas si tu as veuillé à cela.

    De toutes les façons, je croix qu'on peut toujours contourner ce cas. C'est dire transformer ton tableau de Locom en un tableau de chaines de caractères.

    __salut !
    Aujourd'hui apprenant, demain appreneur.
    N'accuse pas le puits d'être trop profond,
    c'est peut-être ta corde qui est trop courte

  17. #17
    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
    Il faut rendre ta classe Locom parcelable si tu veux pouvoir la convoyer via un Intent avec la méthode putParcelableArrayList()
    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

  18. #18
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Re-bonjour à tous,

    Voilà j'ai donc rendu ma classe Locom Parcelable, (cela m'a permis d'apprendre un autre point de la programmation android ^^), des que je refresh ma listView mon commentaire apparait bien mais ma listView n'est plus composé que d'un seul élément tout le reste a foutu le camp. je suis obligé de redémarrer mon appli pour recharger les données mais du coup le commentaire n'apparait plus.

    1ere Activité:

    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
     @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (requestCode == 1) {
                if (resultCode == Activity.RESULT_OK) {
     
                    Bundle bundle = data.getExtras();
                    ArrayList<Locom> myListComReturned = bundle.getParcelableArrayList("myArrayList");
                    populate(myListComReturned);
                    System.out.println("ArrayList RESULT OK");
                } else if (resultCode == 0) {
                    System.out.println("ArrrayList RESULT CANCELLED");
                }
            }
        }
     
     
        public void populate(ArrayList<Locom> locom) {
            this.dataAdapter.clear();
            this.dataAdapter.addAll(locom);
            this.dataAdapter.notifyDataSetChanged();
        }

    2ieme Activité:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      Intent arrayList = new Intent();
                    arrayList.putParcelableArrayListExtra("myArrayList", myListCom);
                    setResult(RESULT_OK, arrayList);
                    ChoixDMCP.this.finish();
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/03/2016, 17h36
  2. Capture d'un évènement spécifique depuis une activité
    Par Yvon Massé dans le forum Android
    Réponses: 5
    Dernier message: 19/04/2015, 12h40
  3. Comment faire défilier des ListView depuis une sélection ?
    Par pagoa dans le forum Composants graphiques
    Réponses: 6
    Dernier message: 10/02/2012, 22h25
  4. Erreur lors du passage à une activité ListView
    Par zatamos dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 13/10/2010, 15h56
  5. ouvrir listview depuis une autre listview
    Par lallier dans le forum Composants graphiques
    Réponses: 8
    Dernier message: 06/05/2010, 19h03

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