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接口及事实上现类的继承关系如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

Adapter经常使用的实现类:

1,ArrayAdapter:简单。易用的Adapter,可用于将数组或List集合多个值包装成多个列表项。

2,SimpleAdapter:并不简单,功能强大的Adapter,可用于将List集合的多个对象包装成多个列表项

3。SimpelCursor:与SimpleAdapter基本类似,仅仅是用于包装Cursor提供的数据库查询集

4,BaseAdapter:通经常使用于被扩张。扩展BaseAdapter能够对个列表项进行最大限度的定制。

AdapterView子类和对应的Adapter实现类以后再进行解释吧。

UI组件之AdapterView及其子类关系,Adapter接口及事实上现类关系的更多相关文章

  1. 第3组UI组件:AdapterView及其子类

    1 AdapterView类简介 1.1 AdapterView组件是一组重要的组件,AdapterView本身是一个抽线类,实际使用更多的都是Adapter相关子类,AdapterView具有如下特 ...

  2. 第四组UI组件:AdapterView及子类

    AdapterView组件是一组重要的组件,AdapterView本省是一个抽象基类,它派生的子类在用法上十分相似,只是显示界面与一定的区别,因此这次针对它们的共性集中讲解,并突出介绍他们的区别. A ...

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

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

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

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

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

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

  6. Android开发10.1:UI组件适配器AdapterView(创建ListView,Adapter接口)

    @version:Android4.3 API18 @author:liuxinming 概述               AdapterView继承了ViewGroup,它的本质是容器       ...

  7. 第6组UI组件:ViewAnimator及其子类

    ViewAnimator是一个基类,它继承了FrameLayout,因此它表现出FrameLayout的特征,可以将多个View组件“叠”在一起.ViewAnimator额外增加的功能正如它的名字所暗 ...

  8. 第2组UI组件:TextView及其子类

    1 TextView及其子类的继承关系 TextView直接继承自View,是EditView与Button两个类的父类,如下为TextView各子类继承关系. 2 个UI的样式图 CheckedTe ...

  9. 第五组UI组件:ProgressBar及其子类

    ProgressBar组件也是一组重要的组件,ProgressBar本身代表了进度条组件,它还派生了两个常用的组件:SeekBar和RatingBar.ProgressBar及其子类在用上十分相似,只 ...

随机推荐

  1. html --- rem 媒体查询

    rem是一种相对长度单位,参考的基准是<html>标签定义的font-size. viewport 做移动端的h5,通常会在HTML文件中指定一个<meta>标签: <m ...

  2. HDU 4731 Minimum palindrome 打表找规律

    http://acm.hdu.edu.cn/showproblem.php?pid=4731 就做了两道...也就这题还能发博客了...虽然也是水题 先暴力DFS打表找规律...发现4个一组循环节.. ...

  3. XML学习总结(1)——XML入门

    一.XML语法学习 学习XML语法的目的就是编写XML 一个XML文件分为如下几部分内容: 文档声明 元素 属性 注释 CDATA区 .特殊字符 处理指令(processing instruction ...

  4. [TypeScript] Model Alternatives with Discriminated Union Types in TypeScript

    TypeScript’s discriminated union types (aka tagged union types) allow you to model a finite set of a ...

  5. [ES6] Extends class in ES6 vs ES5 subclass

    ES6 class with extends and super: class Tree { constructor(size = ', leaves = {spring: 'green', summ ...

  6. c、c++ 结构体的嵌套

    c.c++ 结构体的嵌套 /************************************************************************/ /* 嵌套结构体 * C ...

  7. java.lang.ClassNotFoundException: org.springframework.web.content.ContextLoaderListener

    1.错误描写叙述 严重: Error configuring application listener of class org.springframework.web.content.Context ...

  8. js---BOM 的理解方法

    windows 方法 window.close(); //关闭窗口   window.alert("message"); //弹出一个具有OK按钮的系统消息框,显示指定的文本   ...

  9. 自绘listCtrl控件选中该行高亮(模拟windows)

    CListCtrl的派生类CMyListCtrl的DrawItem()函数里添加代码 CDC *pDC = CDC::FromHandle(lpDrawItemStruct->hDC); if ...

  10. 洛谷 P1032 字符变换

    洛谷 P1032 字符变换 题目描述 已知有两个字串 A,B 及一组字串变换的规则(至多 6 个规则): A1​ -> B1​ A2​ -> B2​ 规则的含义为:在 A 中的子串 A1​ ...