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.
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'? –