UI组件之AdapterView及其子类关系,Adapter接口及其实现类关系
最后更新于:2022-04-01 16:14:00
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**
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-10_56e0d9ab30bf2.jpg)
**Adapter本身就是一个接口**,他派生的ListAdapter和SpinnerAdapter两个子接口,其中ListAdapter为AbsListView提供列表项,而SpinnerAdapter为AbsSpinner提供列表项;
图中绿色为经常使用的Adapter。**几乎所有的Adapter都继承了BaseAdapter,而BaseAdapter同时又实现了ListAdapter,SpinnerAdapter两个接口,因此BaseAdapter及其子类可以同时为AbsListView,AbsSpinner提供列表项**。
Adapter接口及其实现类的继承关系如图:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-10_56e0d9ab478ae.jpg)
Adapter常用的实现类:
1,ArrayAdapter:简单,易用的Adapter,可用于将**数组或List集合**多个值包装成多个列表项。
2,SimpleAdapter:并不简单,功能强大的Adapter,可用于**将List集合的多个对象**包装成多个列表项
3,SimpelCursor:与SimpleAdapter基本相似,只是用于**包装Cursor提供的数据库查询集**
4,BaseAdapter:通常用于被扩张。**扩展BaseAdapter**可以对个列表项进行最大限度的定制。
AdapterView子类和相应的Adapter实现类以后再进行解释吧。