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 :

Comment ajouter des données json dans un listView


Sujet :

Composants graphiques Android

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Comment ajouter des données json dans un listView
    voici le code que je suis entrain d’écrire mais j'ai un problème d'affichage des données dans un ListView j’espère que vous pouviez m'aider.merci!!!!!


    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
    70
    71
    72
    public class Agences  extends ListActivity {
        LoginTask loginTask;
        ArrayList<String> listItems;
        ArrayAdapter<String> adapter= new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_1,
        listItems);
        String agence;
       @Override
        protected void onCreate(Bundle savedInstanceState) {
     
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_contacte);
            Contacte();
        }
        public void Contacte() {
     
            if (loginTask != null
                    && loginTask.getStatus() != LoginTask.Status.FINISHED) {
                loginTask.cancel(true);
            }
            loginTask = (LoginTask) new LoginTask()
                    .execute(0);
        }
        class LoginTask extends
                AsyncTask<Integer, Integer, Integer> {
     
            List<Exception> exceptions = new ArrayList<>();
     
            @Override
            protected void onPreExecute() {
     
                super.onPreExecute();
            }
     
            @Override
            protected void onProgressUpdate(Integer... values) {
                super.onProgressUpdate(values);
     
            }
     
            @Override
            protected Integer doInBackground(Integer... requests) {
     
                try {
     
     
                    ObjectMapper mapper = new ObjectMapper();
     
                    HttpGet request = new HttpGet(ApplicationProperties.getInstance().getServiceUrl()
                            + "/service/contacte");
     
                    HttpResponse response = new DefaultHttpClient().execute(request);
     
                    agence = mapper.readValue(Utils.stringFromInputStream(response.getEntity().getContent()),
                            mapper.getTypeFactory().constructCollectionType(List.class, Contacte.class));
     
                    listItems.add(agence);
     
                } catch (Exception e) {
                    exceptions.add(e);
                }
     
                return 0;
            }
     
            @Override
            protected void onPostExecute(Integer result) {
                setListAdapter(adapter);
     
     
     
            }

  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 y a surement une exception qui est levée qqpart, mais comme tu ne les affiches pas (exceptions.add(e); c'est original), forcément ca va être difficile de t'aider...
    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
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Même pas....

    L'adapter est créé à la construction de l'activité (au passage, étrange que cela fonctionne vu que le contexte n'est pas encore setupé correctement), et avec une liste vide => ce sera toujours vide à la fin.

    Il faut créer l'adapter dans le onPostExecute (et du coup plus besoin de conserver l'adapter dans l'activité d'ailleurs)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    public void onPostExecute(Integer i)
    {
         ArrayAdapter<String> adapter= new ArrayAdapter<String>(Agences.this, android.R.layout.simple_list_item_1, Agences.this.listItems);
         setListAdapter(adapter);
    }
    Sinon, étrange oui la gestion des erreurs... il faut effectivement conserver l'erreur jusqu'au onPostExecute, mais nul besoin d'une liste une simple référence vers Exception....

    Et il suffit dans le onPostExecute() de vérifier si il y a une exception (auquel cas afficher un message d'erreur à l'utilisateur), ou de modifier l'adapter.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Discussions similaires

  1. stocker des données Json dans une listview
    Par niggasinparis dans le forum Composants graphiques
    Réponses: 3
    Dernier message: 27/05/2015, 11h58
  2. Problème d’ajouter des données JSON dans une ListView
    Par amirmejrii dans le forum Composants graphiques
    Réponses: 0
    Dernier message: 05/03/2012, 22h43
  3. comment ajouter des données dans la base
    Par ghost10 dans le forum Linq
    Réponses: 12
    Dernier message: 26/05/2010, 00h08

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