Olivier Posted November 24, 2009 Share Posted November 24, 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 Quote Link to comment Share on other sites More sharing options...
Galize Posted November 24, 2009 Share Posted November 24, 2009 (edited) 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. Edited November 24, 2009 by Galize Quote Link to comment Share on other sites More sharing options...
popolbx Posted November 24, 2009 Share Posted November 24, 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) Quote Link to comment Share on other sites More sharing options...
Olivier Posted November 24, 2009 Author Share Posted November 24, 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 Quote Link to comment Share on other sites More sharing options...
Olivier Posted November 24, 2009 Author Share Posted November 24, 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 ! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.