2010-05-13 5 views
1

Je veux créer une vue de la liste personnalisée comme ce lien: http://sites.google.com/site/androideyecontact/_/rsrc/1238086823282/Home/android-eye-contact-lite/eye_contact-list_view_3.png?height=420&width=279Comment créer un listview personnalisé dans Android

jusqu'à présent j'ai fait une vue de la liste avec le texte, et je ne suis pas étends liste Activité, mais je suis extension de l'activité uniquement.

s'il vous plaît si quelqu'un peut me fournir un code pour cela.

Merci beaucoup

Vive

Kai

+1

http://tech-papers.org/android_custom_listview/ –

Répondre

4

Vérifiez ce constructeur pour SimpleAdapter:

http://bit.ly/99OFSo

Essentiellement, vous créez une mise en page personnalisée pour représenter chaque ligne. Attribuez des ID aux éléments ImageView et TextView dans cette présentation. Vous créez un objet List<? extends Map<String, ?>> pour représenter vos données. Chaque élément de la liste est un Map<String, [some object]> qui représente une clé et une valeur pour chaque élément de données que vous souhaitez afficher. Le troisième argument du constructeur est l'identifiant de la disposition des lignes. Le quatrième argument est un tableau de chaînes représentant les clés de chaque donnée de la carte que vous avez créée précédemment, et le cinquième argument est un tableau d'identifiants int des éléments ImageView et TextView dans votre mise en page (dans l'ordre correspondant au tableau de chaînes dans l'argument précédent).

J'ai quelque chose comme ce qui suit:

ListView someListView= (ListView)findViewById(R.id.someListView); 
SimpleAdapter adapter = new SimpleAdapter(
        this, 
        someHelperMethodThatReturnsMyList(), 
        R.layout.custom_row, 
        new String[] { "field1", "field2", "field3" }, 
        new int[] { R.id.txtField1, R.id.txtField2, R.id.imgField3} 
        ); 
      someListView.setAdapter(adapter); 
Questions connexes