2010-08-11 4 views
0

Je souhaite créer un ListView qui contient un RelativeLayout qui contient un ImageView et un autre Layout (Linéaire). Linear Layout Contient du TextView.Création de ListView qui contient la disposition

Comment puis-je créer ce ListView ??

Merci Deepak

+0

Voulez-vous dire que chaque ligne serait une RelativeLayout telle que vous la décrivez? Si c'est le cas, ce serait facile. Avez-vous regardé les classes 'ListAdapter' et' BaseAdapter'? –

Répondre

0

Vous pouvez faire une mise en page pour les lignes. Disons que l'ImageView est R.id.image et le TextView R.id.text. La disposition des lignes est R.id.row_layout Pour la liste, vous avez besoin d'un adaptateur de liste. Si vous utilisez un ListActivity il pourrait ressembler à ceci:

@Override 
protected void onCreate(Bundle savedInstanceState){ 
    ... 
    ArrayList<HashMap<String, Object>> listData = new ArrayList<HashMap<String, Object>>(); 
    HashMap<String, Object> m = new HashMap<String, Object>(); 
    m.put("image", R.drawable.some_image); 
    m.put("text", "Test"); 
listData.add(m); 
    adapter = new SimpleAdapter(this, 
      listData, R.layout.row_layout, 
     new String[] {"image", "text"}, 
     new int[] {R.id.image, R.id.text}); 
    setListAdapter(adapter); 
} 

Le ArrayList contient toutes les données de la liste. Chaque ligne est représentée par un HashMap et les clés des données doivent être égales aux identifiants où vous voulez les afficher. Dans l'adaptateur, vous dites que l'image clé est mappée à votre ImageView et ainsi de suite.

Questions connexes