AdapterView本身是一个抽象基类,它派生的的子类在用法上十分相似。AdapterView直接派生的三个子类:AbsListView,AbsSpinner,AdapterViewAnimator,这三个子类依然是抽象的,实际应用中往往采用它们的子类。AdapterView 的子类是内容由 Adapter 来决定的视图类,就是说其实显示的组件。
AdapterView有如下特征:
1,AdapterView继承了ViewGroup,它的本质是容器。
2,AdapterView可以包括多个“列表项”,并将多个“列表项”一合适的形式显示出来
3,AdapterView显示的多个“列表项”的内容由Adapter提供,调用AdapterView的setAdapter(Adapter)方法设置adapter。
AdapterView及其子类的继承关系如图:经常使用的AdapterView的子类如图中绿色所示
ListView,GridView,Spinner,Gallary,StackView,ExpandableListView
Adapter本身就是一个接口,他派生的ListAdapter和SpinnerAdapter两个子接口,其中ListAdapter为AbsListView提供列表项,而SpinnerAdapter为AbsSpinner提供列表项;
图中绿色为经常使用的Adapter。几乎所有的Adapter都继承了BaseAdapter,而BaseAdapter同时又实现了ListAdapter,SpinnerAdapter两个接口,因此BaseAdapter及其子类可以同时为AbsListView,AbsSpinner提供列表项。
Adapter接口及其实现类的继承关系如图:
Adapter常用的实现类:
1,ArrayAdapter:简单,易用的Adapter,可用于将数组或List集合多个值包装成多个列表项。
2,SimpleAdapter:并不简单,功能强大的Adapter,可用于将List集合的多个对象包装成多个列表项
3,SimpelCursor:与SimpleAdapter基本相似,只是用于包装Cursor提供的数据库查询集
4,BaseAdapter:通常用于被扩张。扩展BaseAdapter可以对个列表项进行最大限度的定制。
AdapterView子类和相应的Adapter实现类以后再进行解释吧。