public interface
Adapter
作用:把复杂的数据填充在指定的视图界面上
ArryAdapter :用于绑定格式单一的数据;数据源可以是集合或数组
SimpleAdapter :用于绑定格式复杂的数据;数据源只能是特定泛型的集合
数据适配器是链接数据源和视图界面的桥梁
1)ArrayAdapter
public class
ArrayAdapter
extends BaseAdapter
implements
-->常用构造方法
ArrayAdapter(Context context, int textViewResourceId, T[] objects)
ArrayAdapter(Context context, int textViewResourceId, List<T> objects)
context上下文,textViewResourceId 当前ListView加载的没一个列表项所对应的布局文件(例如:android.R.layout.simple_list_item_1),oobjects 数据源;
-->视图加载适配器
listVIew.setAdapter(ArraryAdapter<String>);
2)SimpleAdapter
public class
SimpleAdapter
extends BaseAdapter
implements
-->构造方法
SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
data:数据源:(List<? extends Map<String, ?>> data) 一个Map所组成的List集合,每一个Map都会去对应ListView列表中的一行,每个Map(键—值对)中的键必须包含所有在from中所指定的键
resource:列表项的布局文件Id
from:Map 中的键名
to: 绑定数据视图中的ID, 与from成对应关系
data一般用函数getData()实现
private List<Map<String, Object>> getData(){
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put(form1, to1);
map.put(from2, to2);
list.add(map);
map = new HashMap<String, Object>();
map.put(form11, to11);
map.put(from22, to22);
list.add(map);
return list;
}
-->加载适配器
listVIew.setAdapter(SimpleAdapter);