SimpleAdapter这是一个简单的适配器,可以将静态数据映射到XML文件中定义好的视图。你可以指定数据支持的列表如ArrayList组成的Map。在ArrayList中的每个条目对应List中的一行。Maps包含每行数据。你可以指定一个定义了被用于显示行的视图XML文件,通过关键字映射到指定的视图。绑定数据到视图分两个阶段,首先,如果一个SimpleAdapter.ViewBinder是有效的,setViewValue(android.view.View, Object, String)将被调用。如果返回值是真,绑定完成了。如果返回值为假,下面的视图将按以下顺序去处理:
一个实现了Checkable的视图(例如CheckBox),期望绑定值是一个布尔类型。
TextView期望绑定值是一个字符串类型,通过调用setViewText(TextView, String)绑定。
ImageView期望绑定值是一个资源id或者一个字符串,通过调用setViewImage(ImageView, int) 或 setViewImage(ImageView, String)。
如果没有一个合适的绑定发生将会抛出IllegalStateException。
构造函数
public SimpleAdapter (Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
构造函数
参数
context 关联SimpleAdapter运行着的视图的上下文。
data 一个Map的列表。在列表中的每个条目对应列表中的一行,应该包含所有在from中指定的条目
resource 一个定义列表项目的视图布局的资源唯一标识。布局文件将至少应包含哪些在to中定义了的名称。
from 一个将被添加到Map上关联每一个项目的列名称的列表
to 应该在参数from显示列的视图。这些应该全是TextView。在列表中最初的N视图是从参数from中最初的N列获取的值。
List<Map<String, Object>> lists = new ArrayList<Map<String, Object>>(); / /实例化ArrayList链表,用来存放Map对象
for (int i = 0; i < resId.length; i++) {
Map<String, Object> map = new HashMap<String, Object>(); // 实例化HashMap对象,用来存放用户名和IP
map.put("ImageView01", resId[i]);
map.put("TextView01", ilicai[i]);
map.put("TextView02", ilicai1[i]);
lists.add(map); // 添加HashMap集合到ArrayList链表中
}
// 实例化适配器
SimpleAdapter adapter = new SimpleAdapter(this, lists,
R.layout.list_view_row, new String[] { "ImageView01",
"TextView01", "TextView02" }, new int[] {
R.id.ImageView01,R.id.TextView01, R.id.TextView02 });
setListAdapter(adapter);