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实现类以后再进行解释吧。

UI组件之AdapterView及其子类关系,Adapter接口及其实现类关系相关推荐

  1. UI组件之AdapterView及其子类(一)三种Adapter适配器填充ListView

    AdapterView的内容一般是包含多项相同格式资源的列表,常用的有5种AdapterView的子类: (1)ListView:简单的列表 (2)Spinner:下拉列表,给用户提供选择 (3)Ga ...

  2. UI组件之AdapterView及其子类(四)Gallery画廊控件使用

    听说 Gallery现在已经不使用了,API使用ViewPaper代替了,以后再学专研ViewPaper吧现在说说Gallery画廊,就是不停显示图片的意思 Gallery是用来水平滚动的显示一系列项 ...

  3. UI组件之AdapterView及其子类(六)ExpandableListView组件和ExpandableListActivity的使用

    ExpandableListView是ListView的子类,他在ListView上进行了扩展,它把列表项分成了几组,每组里包含了多个列表项 ExpandableListView的列表项是由Expan ...

  4. UI组件之AdapterView及其子类(五)ListView组件和ListActivity

    ListView组件是一个显示组件,继承AdapterView基类,前面已经介绍了分别使用ArrayAdapter,SimpleAdapter,扩展BaseAdapter来为LisView提供列表项h ...

  5. UI组件之AdapterView及其子类(三)Spinner控件详解

    Spinner提供了从一个数据集合中快速选择一项值的办法.默认情况下Spinner显示的是当前选择的值,点击Spinner会弹出一个包含所有可选值的dropdown菜单或者一个dialog对话框,从该 ...

  6. UI组件之AdapterView及其子类(二)GridView网格视图的使用

    GridView网格视图属性: android:numColumns="auto_fit" --------列数设置为自动,可以为确定的数值 android:columnWidth ...

  7. UI组件之TextView及其子类(二)RadioButton和CheckBox

    单选按钮(RadioButton)和复选框(CheckBox),状态开关按钮(ToggleButton),开关(Switch)都是普通的UI组件,都继承了Button类,因此都可以用Button的各种 ...

  8. Android Adapter接口的实现类总结

    一.Adapter的理解 (一)基本概念     首先,我们先要了解什么是Adapter,其实我们一般都可以从翻译中知道一点,这个单词的翻译是"适配器".也就是说,我们可以通过Ad ...

  9. UI组件之ImageView及其子类(一)ImageView显示图片

    ImageView家族的继承关系如图: ImageView继承自View组件,它的主要功能室显示图片,还可以显示Drawable对象. ImageView直接子类是ImageButton,QuickC ...

最新文章

  1. py3提取json指定内容_python3 取页面指定数据(json)
  2. jmeter固定定时器使用与思考
  3. 修改ubuntu系统默认语言(linux中文乱码)
  4. 智能车复工日记【N】:图像处理——环岛debug记录(持续更新)
  5. 安卓加java完成登录_从零学习安卓自动化(java+appium方向):完成登录操作+一个主流程(四)...
  6. 面向对象之信息传递为何是调用方法
  7. 第10 章继承映射(InheritanceMappings)
  8. 修改树状控件TreeCtrl的节点名称
  9. java 注释工具栏_eclipse/intellij idea 查看java源码和注释方法
  10. android上传图片失败问题
  11. PHP处理数据为echarts多条折线图格式
  12. 数数苹果手机中的不科学
  13. 操作系统的不确定性是指_读文||不确定性原理—人工智能的哲学基础
  14. 音阶频率对照表_各个音阶的对应频率
  15. 人人都是产品经理总结 第一章
  16. C语言:cJSON库用法详解
  17. Chrome浏览器升级后提示崩溃
  18. Spark面试题(二)
  19. 计算机毕业设计Java服装定制管理系统(源码+系统+mysql数据库+lw文档)
  20. java学习个人总结_Java学习的总结

热门文章

  1. stm32f103 spi crc
  2. SpringBoot整合Mybatis超详细流程
  3. 文本查重:difflib.SequenceMatcher
  4. EOS账户系统(1)场景
  5. 跨链Cosmos(11) 消息结构
  6. (chap4 Http状态码) 概况2XX
  7. 基于SEAL库实现PSI-报错实录1
  8. 设计模式--模板方法(Template Method)模式
  9. buu Quoted-printable
  10. 关于CVE-2019-0708 - 数组越界