Olivier Posté(e) 24 novembre 2009 Share Posté(e) 24 novembre 2009 Bonjour tout le monde, Toujours impliqué dans mon premier dev sur Android, je me demande si j'ai fait les bons choix sur certains points. J'aimerai savoir comment vous feriez : Problématique : Données, dans une database de messages téléphoniques : - nom de fichier audio - statut (lu, non lu...) - numéro de la personne qui a laissé le message - date heure du message - durée du message Lors de l'affichage je veux afficher sur chaque ligne : - une icone qui sert à lancer l'écoute - le numéro de l'appelant (avec un style différent selon que le msg est écouté ou non) - la date heure - la durée Lors de l'affichage, j'ai + de données à transmettre qu'à afficher : - le statut sert à définir un style lors de l'affichage du numéro - le nom de fichier est nécessaire pour l'écoute (l'icone) Dans les ListView, d'après ce que je constate, on assigne une donnée à un widget dans chaque row. Comment passer + de données que de widgets ? (ou faire autrement) Merci, Olivier Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Galize Posté(e) 24 novembre 2009 Share Posté(e) 24 novembre 2009 (modifié) Tu embarques dans ta listView un modèle de données. C'est à dire un objet avec tous les attributs que tu souhaites. Au niveau visuel tu convertis les informations voulues en visuel. Il y a une séparation totale entre l'affichage et les données, donc pas de problème. Modifié 24 novembre 2009 par Galize Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 24 novembre 2009 Share Posté(e) 24 novembre 2009 tout ceci gràace un à ListAdapter que tu auras réécrit. par exemple ton adapter aura un add(MonObjet) avec MonObjet par exemple qui se crée comme ceci : new MonObjet (A,B,C) et à l'affichage tu peux juste faire un setText sur un seul widget de A+B+C... exemple dans taskiller les objets de l'adapter contiennent : nom de l'appli,nom du package, icône, type : service, appli, priorité) et on affiche juste nom+icone avec nom de la couleur du type... mais pas le package (qui sers juste au clic pour killer) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Posté(e) 24 novembre 2009 Auteur Share Posté(e) 24 novembre 2009 Ok merci ! je vois le truc. J'ai trouvé notament ceci qui l'illustre : http://developer.android.com/intl/fr/guide/samples/ApiDemos/src/com/example/android/apis/view/List4.html Par contre dans l'exemple cité, ils implémentent un LinearLayout dans le code. De mon coté, j'ai un TableLayout (enfin une row) en XML. Je ne vois pas comment faire pour l'exploiter dans ce cas. Merci, Olivier Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Posté(e) 24 novembre 2009 Auteur Share Posté(e) 24 novembre 2009 Il suffit de demander pour trouver... Je pense que j'ai trouvé : public LigneView(Context context, String title, String words) { super(context); TableLayout ligne = (TableLayout) inflate(context, R.layout.messages_row, null); addView(ligne); } Merci ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.