Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème rafraichissement de ListView

Sujet résolu
    28 mai 2013 à 16:55:38

    Bonjour,

    J'ai une listView alimenté par une base de donnée locale :

    int[] to = new int[]{R.id.LVID, R.id.LVClient, R.id.LVCmd, R.id.LVProduit, R.id.LVQuantite};
                String[] from = new String[]{"_id", "_client","_codecmd", "_produit","_quantite"};
                mAdapter = new SimpleCursorAdapter(this.getBaseContext(), R.layout.liste, c, from, to);
                liste.setAdapter(mAdapter);

    J'aimerais l'actualiser après l'ajout dans ma BDD mais je n'y arrive pas, quelqu'un s'aurait ?

    • Partager sur Facebook
    • Partager sur Twitter
      28 mai 2013 à 17:06:11

      Bonjour,

      Tu as essayé de relancer ce bout de code apres l'ajout ?

      • Partager sur Facebook
      • Partager sur Twitter
        28 mai 2013 à 18:11:03

        Oui, mais le soucis c'ets que je ne peux pas car j'ai la un bout qui ne marche pas avec les fonctions onClick

        mAdapter = new SimpleCursorAdapter(this.getBaseContext(), R.layout.liste, c, from, to);

        j'ai même essayer de créer une fonction avec le bout de code en question et l'appeler dans mon onClick et mon onCreate mais pas myen.

        A savoir que le morceau de code donné plus haut est dans ma fonction onCreate. 

        • Partager sur Facebook
        • Partager sur Twitter
          29 mai 2013 à 11:56:38

          Pour les curieux j'ai simplement retiré la fonction 'this.getBaseContext()" par "MainActivity.this".
          • Partager sur Facebook
          • Partager sur Twitter
            29 mai 2013 à 12:50:43

            Tu t'y prends mal, voilà ce qu'il vaut mieux faire : 

             - Créer ton Tableau dynamiquement à part dans un model par exemple pour l'echange avec ta BDD

             - Dans une méthode faire le transfert vers ta liste

            - Le passer en paramètre de ton array adapter à chaque création de ta listview.

            - Et à chaque rafraichissement il suffit juste de rappeler ton Model + OnCreate

            • Partager sur Facebook
            • Partager sur Twitter
            "Comme la lune, agrandis-toi toi-même, Soit un homme, non un morceau d'argile." Iqbal.
              29 mai 2013 à 23:44:21

              Ok, juste pourrais tu m'expliquer pourquoi c'est mieux comme tu viens de m'expliquer? Histoire que je comprenne =)
              • Partager sur Facebook
              • Partager sur Twitter
                30 mai 2013 à 8:48:21

                Car si à un moment tu as une BDD tros volumineuse ou des données trop grandes à récupérer la listeview va surement planter car elle mettra trop de temps à charger, du coup il vaut mieux en amont récupérer de façon asynchrone les elements de ta BDD dans une activité et passer un tableau de resultat en paramètre puis créer directement ton adapter à partir de ce tableau et finir par charger la listview.

                      Donc pour deux choses :

                              - Respecter le pattern design MVC ce qui permet de réutiliser ton code et de le modifier sans tout changer et de bien l'organiser

                              - Un travail en asynchrone pour bien différencier la récupération des données et l'affichage (car à coup sûr pour un nombre de données trop grand ton activité va planter)

                • Partager sur Facebook
                • Partager sur Twitter
                "Comme la lune, agrandis-toi toi-même, Soit un homme, non un morceau d'argile." Iqbal.

                Problème rafraichissement de ListView

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown