Aller au contenu

ListView / ArrayList / ArrayAdapter / Comment bien faire


Pierre87

Recommended Posts

Mon Activity ne contient qu'une ListView (qui affiche des String).

J'ai donc choisi de prendre une ListActivity

J'ai une ArrayList (de String), donc le contenu change fréquemment (en dehors du thread UI).

J'ai donc pris un ArrayAdapter pour faire ça :

this.list = new ArrayList();
this.adapter = new ArrayAdapter(this, R.layout.simple_list_item_1, this.list);
this.setListAdapter(this.adapter);

2 solutions s'offrent à moi pour modifier les données dans ma ListView :

- "this.adapter.add("Time : " + System.currentTimeMillis());"

- changer dans mon ArrayList, puis notifier l'Adapter via "this.adapter.notifyDataSetChanged();"

Problème : toute intervention sur l'Adapter (changement direct, ou notification) nécessite d'être dans le Thread graphique.

Pour moi, ce n'est pas un problème, ça peut se résoudre par :

- Activity.runOnUIThread()

- View.post()

- Un Handler

Quelle est la meilleure méthode ?

Il n'existe pas une méthode plus simple ?

Merci !

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...