一个ListActivity就是只包含一个ListView组件的Activity
通过ListActivity 类的setListAdapter方法来设置Adapter对象,该方法相当于调用了ListView类的setAdapter方法
说明一下SimpleAdapter类的构造方法
public SimpleAdapter(Context context, List<? extend Map<String,?>> data, int resource,String[] from,int[] to):context 表示上下文;data表示所有列表项的数据,一个列表项就是指在ListView中每一行包含的元素,通常有TextView,ImageView等,它们用Map来存放,例如:
Map<String,Object> item1 = new HashMap<String,Object>();
//设置第1个列表项的数据
item1.put("ivLogo",R.drawable.calendar);
item1.put("ivApplicationName","多功能日历");
Map<String,Object> item2 = new HashMap<String,Object>();
//设置第2个列表项的数据
item2.put("ivLogo",R.drawable.eoemarket);
item2.put("ivApplicationName","eoemarket 客户端");
List<Map<String,Object>> data = new ArrayList<Map<String,Object>>();
//将两个 Map 对象添加到List对象中,该对象就是SimpleAdapter构造方法的第2个参数
data.add(item1);
data.add(item2);
第 3 个参数resource表示列表项模板的资源ID,例如R.layout.main; from和to分别表示main.xml中组件的android:id属性值(就是ID的名字)和该组件对应的资源ID(ID在R.java文件中引用时的名称)
使用该构造方法后,实现的示意图如下:
关于具体用法请参见 ch05_simpleradapter 工程