企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
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://box.kancloud.cn/2016-03-10_56e0d9ab30bf2.jpg) **Adapter本身就是一个接口**,他派生的ListAdapter和SpinnerAdapter两个子接口,其中ListAdapter为AbsListView提供列表项,而SpinnerAdapter为AbsSpinner提供列表项; 图中绿色为经常使用的Adapter。**几乎所有的Adapter都继承了BaseAdapter,而BaseAdapter同时又实现了ListAdapter,SpinnerAdapter两个接口,因此BaseAdapter及其子类可以同时为AbsListView,AbsSpinner提供列表项**。 Adapter接口及其实现类的继承关系如图: ![](https://box.kancloud.cn/2016-03-10_56e0d9ab478ae.jpg) Adapter常用的实现类: 1,ArrayAdapter:简单,易用的Adapter,可用于将**数组或List集合**多个值包装成多个列表项。 2,SimpleAdapter:并不简单,功能强大的Adapter,可用于**将List集合的多个对象**包装成多个列表项 3,SimpelCursor:与SimpleAdapter基本相似,只是用于**包装Cursor提供的数据库查询集** 4,BaseAdapter:通常用于被扩张。**扩展BaseAdapter**可以对个列表项进行最大限度的定制。 AdapterView子类和相应的Adapter实现类以后再进行解释吧。