2010-05-11 5 views
2

J'ai passé des heures à lire les didacticiels sur le SDK, à rechercher et à lire des livres, mais je n'arrive toujours pas à le comprendre.Article personnalisé dans ListActivity sur Android

Je voudrais savoir comment créer un élément de liste personnalisé dans le widget ListActivity sur Android. Quelque chose de similaire à une interface client Twitter. Chaque élément de la liste possède différents types de texte, éventuellement une icône, etc.

Le problème consiste à lier les données à l'élément de liste. Si vous définissez votre propre structure de données, disons "Tweet" qui va stocker le message, l'auteur, la date d'envoi et une URL d'image - comment liez-vous l'instance de tweet à l'élément de liste personnalisé?

Est-ce que quelqu'un connaît des ressources qui pourraient m'aider à comprendre le processus de création de quelque chose comme ça?

Toute aide serait appréciée. Merci

Répondre

4

Je ne suis pas sûr que les tutoriels que vous lisiez, mais c'est assez simple. Vous définissez votre mise en page. Vous l'utilisez dans votre getView pour vos articles. http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html

vous pouvez également consulter l'exemple de Mark avec des images de chargement paresseux http://github.com/commonsguy/cwac-thumbnail

+0

La question est obligatoire les données à l'élément de liste. Si vous définissez votre propre structure de données, disons "Tweet" qui va stocker le message, l'auteur, la date d'envoi et une URL d'image - comment liez-vous l'instance de tweet à l'élément de liste personnalisé? –

+2

Vous remplacez 'getView()' pour ArrayAdapter', ou 'newView()' et 'bindView()' pour 'CursorAdapter'. Voir http://commonsware.com/Android/excerpt.pdf pour un extrait gratuit de l'un de mes livres qui couvre le sujet. – CommonsWare

+0

dans l'une des méthodes Mark mentionné, vous obtiendrez la position de l'élément dans votre adaptateur. Ensuite, vous obtenez votre article (tweet). Ensuite, pour chaque membre de votre classe de tweet, vous trouverez la vue correspondante - findViewById (R.id.tweetMessage) et définissez votre valeur pour cette vue. –

Questions connexes