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. C#使用一般处理程序(ashx)中session

    .ashx中引用 session必须 using System.Web.SessionState ,继承IReadOnlySessionState/IRequiresSessionState IRea ...

  2. HDU 6182 A Math

    A Math Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  3. Linux之lldptool命令

    1. 描述 当我们想在操作系统里面查看网口和交换机连接的状态信息,我们可以使用lldptool这个工具. 2.LLDP协议 LLDP是一个数据链路层发现协议,LLDP协议使得接入网络的一台设备可以将其 ...

  4. find---查找文件或目录

    ind命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进行 ...

  5. 【Uva 12093】Protecting Zonk

    [Link]: [Description] n个节点的树; 每个节点都可以选择3种 1.覆盖和它相连的边; c1花费; 2.覆盖和它相连的边以及和它相连的点相连的边; c2花费; 3.不进行操作 覆盖 ...

  6. 顶级、块级、内联,html元素的三大分类

    学习html后, 你会了解一些基本的html元素(Element), 如p, h1~h6, br, div, li, ul, img等.如果将这些元素细分, 又可以分别归为顶级(top-level)元 ...

  7. ellipsize-TextView省略号的设定

    ellipsize主要是当TextView的文字过长的时候,我们可以让它显示省略号 用法如下: 在xml中 <!--省略号在结尾--> android:ellipsize = " ...

  8. Android学习笔记进阶15之Shader渲染

    Android提供的Shader类主要是渲染图像以及一些几何图形. Shader有几个直接子类: BitmapShader    : 主要用来渲染图像 LinearGradient  :用来进行线性渲 ...

  9. .Net Standard和各平台关系

    .NET Standard      1.0      1.1      1.2      1.3      1.4 1.5 1.6 2.0 .NET 核心 1.0 1.0 1.0 1.0 1.0 1 ...

  10. Android JSON数据解析(GSON方式)

    要创建和解析JSON数据,也可以使用GSON来完成.GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库.使用GSON,可以很容易的将一串JSON数据转换为一个Jav ...