AdapterView的使用
继承关系:
View<-ViewGroup<-AdapterView<-ListView,GridView,Spinner,Gallery
功能:
一个Adapter对象作为一个AdapterView和View底层数据之间的桥,提供对data Items的存取,同时负责针对每个Data如何渲染到对应的View中。它是连接后端数据与前端显示的甜酸器接口,是数据与UI之间的纽带。
意即 ListView, GridView, Spinner, Gallery 这几种视图组件拥有一般ViewGroup的能力,但是又和LinearLayout这样的布局不一样,他们需要Adapter的协助才能把Data显示到这个视图中。
Adapter的继承关系:
android.widget.Aapter
-> ListAdapter(接口)
-> BaseAdapter(抽象类) (需要实现较多的方法,比较灵活)
-> ArrayAdapter (支持泛型) (最简单,只能显示一行字)
-> CursorAdapter
-> SimpleCursorAdapter (适用于纯文字型的ListView,可以认为是SimpleAdapter对数据库的简单结合,可以方便地把数据库的内容以列表的形式展现出来)
-> SimpleAdapter (最好的可扩充性,可自定义出各种效果)
1、数据库Cursor: SimpleCursorAdapter
结构:
SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
功能:
将游标Cursor中的一行转换为容器控件的子容器。
2、String[]: ArrayAdapter
将字符串数组中的数据转换为容器控件的子容器。
3、List: SimpleAdapter
结构:
SimpleAdapter (Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
参数:
context:关联SimpleAdapter运行着的视图的上下文,一般而言也就是Activity。
data:一个Map的列表。在列表中的每个条目对应列表中的一行,应该包含所有在from中指定的条目。
resource :一个定义列表项目的视图布局的资源唯一标识。布局文件将至少应包含哪些在to中定义了的名称。
from:一个将被添加到Map上关联每一个项目的列名称的列表
to:应该在参数from显示列的视图。这些应该全是TextView。在列表中最初的N视图是从参数from中最初的N列获取的值。