创建包含布局的ListView

时间:2010-08-11 06:29:59

标签: android android-widget

我想创建一个ListView,它包含一个RelativeLayout,其中包含一个ImageView和另一个Layout(Linear)。线性布局包含一些TextView。

如何创建此ListView ??

由于 迪帕克

1 个答案:

答案 0 :(得分:0)

您可以为行创建布局。假设ImageView是R.id.image和TextView R.id.text。行布局为R.id.row_layout 对于列表,您需要一个列表适配器。如果您使用ListActivity,它可能如下所示:

@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);
}

ArrayList包含列表的所有数据。每一行都由HashMap表示,数据的键必须等于要显示它们的ID。在适配器中,您说关键图像已映射到ImageView,依此类推。