Android Adapter 是将数据绑定到UI 界面上的桥接类。 Adapter负责创建和显示每个项目的子View和提供对下层数据的访问。支持Adapter绑定的UI控件必须扩展Adapter View抽象类。创建自己的继承自AdapterView的控件和创建新的Adapter类来绑定它们是可能的。
ListView和ListAdapter
[转载]文章出处
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
什么是ListAdapter?
ListAdapter继承于Adapter,它是ListView和其里面数据的适配器。也就是要让一个ListView显示出来需要三个东西:
- ListView (需要被显示的列表)。
- Data, 和ListView绑定的数据,一般是一个Cursor或者一个字符串数组。
- ListAdapter,是data和ListView的桥梁,起一个适配器的作用。
什么是ArrayAdapter?
ArrayAdapter是ListAdapter的一个直接子类,意思是数组适配器。
它的作用就是一个数组和ListView之间的桥梁。它将数组里定义的数据一一对应的显示在ListView里,通常有ArrayAdapter进行适配的ListView每一项通常只有一个TextView,而TextView里面显示的内容就是数组里面的对象调用toString()方法后生成的字符串。
SimpleAdapter
SimpleAdapter也是ListAdapter的直接子类。通过SimpleAdapter可以让ListView当中的每一项里边的内容更加个性化。通常将ListView中某项的布局信息写在一个xml的布局文件当中。这个布局文件通过R.layout.file获得。
ArrayAdapter的作用是数组和ListView间的桥梁;而SimpleAdapter的作用是ArrayList和ListView间的桥梁。
注意,这个ArrayList里面的每一项都是一个Map
Android系统默认的布局方式
Android.R.layout_simple_list_item_1, 每一项只有一个TextView.
Android.R.layout_simple_list_item_2, 每一项只有两个TextView.
Android.R.layout_simple_list_item_single_choice, 每一项有一个TextView,但是这一项可以被选择。