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 :

Afficher des données en utilisant ListView


Sujet :

Composants graphiques Android

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Août 2015
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Afficher des données en utilisant ListView
    Salut,

    A l'aide d'un tutoriel j'ai pu afficher les données du Json en utilisant GSON, celles-ci s'affichent a l'aide d'un TextView..

    J'aimerais afficher les informations de ce Json en ListView....

    Merci d'avance pour votre aide.

    Voici mon code :
    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
    public class ViewDurchsuchen  extends Activity {
     @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.durchsuchen_layout);
            list = (TextView) findViewById(R.id.list);
     
            new AsyncTask<Void, Void, Void>() {
     
                @Override
                protected void onPreExecute() {
                    super.onPreExecute();
                    progressDialog = new ProgressDialog(ViewDurchsuchen.this);
                    progressDialog.setCancelable(false);
                    progressDialog.setMessage("Loading...");
                    progressDialog.show();}
     
                @Override
                protected Void doInBackground(Void... voids) {
     
                    Reader reader=API.getData("http://bucapp.de/bcarest.php?getRelations=1");
     
                    Type listType = new TypeToken<ArrayList<ContactModel>>(){}.getType();
                    beanPostArrayList = new GsonBuilder().create().fromJson(reader, listType);
                    postList=new StringBuffer();
                    for(ContactModel post: beanPostArrayList){
                        postList.append("\n ID: "+post.getID()+"\n firstname: "+post.getFirstname()+"\n phone: "+post.getPhone()+"\n email: "+post.getEmail()+"\n\n");
                    }
                    return null;
                }
                @Override
                protected void onPostExecute(Void aVoid) {
                    super.onPostExecute(aVoid);
                    progressDialog.dismiss();
                    list.setText(postList);
     
                }
            }.execute();
     
     
        }
    }

  2. #2
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Bonjour,

    le code que t'as fourni est incomplet! Je peux voir le tuto que tu as utilisé ?

    Merci

    Christian
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  3. #3
    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
    Salut,

    Il te suffit de mettre à jour ton adapter de ta liste depuis les données reçu.

    Donc au lieu de cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list.setText(postList);
    passe par

    // met à jour ta liste défini lors de la création de ton adapter
    // Attention Ici ne change pas la valeur de mItems en direct sinon le pointeur sera changé et ton adapteur ne verra rien.
    // donc mets à jour la liste de ton pointeur avec les éléments reçus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mItems.add () or replace(), remove()...
    //puis appelle ton notifydatasetChanged de l'apater
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mAdapter.notifyDataSetChanged ();


    FYI :

    profites du retour de ton doInBackground pour retourner tes éléments au lieu de l'avoir en membre de ta class dans ton AsyncTask.
    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.

  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
    Exemple correct d'utilisation d'une AsyncTask pour peupler une listView : http://olegoaer.developpez.com/tutos...id/rpc/#LIII-B
    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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/03/2013, 13h35
  2. Afficher des données au niveau d'une listview aprés une recherche
    Par arindor dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 05/10/2007, 22h59
  3. comment afficher des données Access sur Word ??
    Par merlubreizh dans le forum Access
    Réponses: 7
    Dernier message: 16/09/2005, 15h07
  4. comment afficher des données Access sur Excel ??
    Par merlubreizh dans le forum Access
    Réponses: 9
    Dernier message: 14/09/2005, 14h38
  5. [BDE] Afficher des données dans un TDBComboBox
    Par $grm$ dans le forum C++Builder
    Réponses: 6
    Dernier message: 30/09/2004, 10h37

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