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实现类以后再进行解释吧。
- 前言
- Eclipse搭建android环境及Genymotion模拟器安装问题解决方法
- 表格布局(TableLayout)及重要属性
- 帧布局(FrameLayout)及属性
- layout_width和width,layout_height和height
- UI组件之TextView及其子类
- UI组件之TextView及其子类(一)TextView和EditText
- UI组件之TextView及其子类(二)RadioButton和CheckBox
- UI组件之TextView及其子类(三)ToggleButton和Switch
- UI组件之TextView及其子类(四)AnalogClock,DigitalClock
- UI组件之TextView及其子类(五)计时器Chronometer
- UI组件之ImageView及其子类(一)ImageView显示图片
- UI组件之ImageView及其子类(二)ImageButton ,ZoomButton
- UI组件之AdapterView及其子类关系,Adapter接口及其实现类关系
- UI组件之AdapterView及其子类(一)三种Adapter适配器填充ListView
- UI组件之AdapterView及其子类(二)GridView网格视图的使用
- UI组件之AdapterView及其子类(三)Spinner控件详解
- UI组件之AdapterView及其子类(四)Gallery画廊控件使用
- UI组件之AdapterView及其子类(五)ListView组件和ListActivity
- UI组件之AdapterView及其子类(六)ExpandableListView组件和ExpandableListActivity的使用
- UI组件之 ProgressBar及其子类(一)ProgressBar进度条的使用
- UI组件之ProgressBar及其子类(二)SeekBar拖动条和RatingBar星级评分条的使用
- ViewFlipper的功能和用法
- Toast的功能和用法
- TabHost选项卡的 功能和用法
- AlertDialog创建6种对话框的用法
- Android基于监听的事件处理机制
- Android基于回调的事件处理
- Handler消息传递机制(一)
- Handler消息传递机制(二)Handler,Loop,Message,MessageQueue的工作原理
- 启动Activity的两种方式startActivity和startActivityForResult(一)
- 启动Activity的两种方式startActivity和startActivityForResult(二)
- Activity的生命周期理解
- Bundle在Activity之间交换数据
- 通过 Intent 传递类对象
- Intent对象详解(一)
- Intent对象详解(二)
- 使用指定的Action,Category调用系统Activity
- 使用Action,Data属性启动系统Activity
- Android数据存储的三种方式-SharedPrefrences,File,SQLite