zoukankan      html  css  js  c++  java
  • UI组件之AdapterView及其子类关系,Adapter接口及事实上现类关系

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



  • 相关阅读:
    常见http代码错误原因及处理
    tar命令详解
    Laravel笔记
    ORM要用到的数组转对象和对象转数组函数
    模块
    内置函数
    正则
    sorted 、 filter 、 map
    匿名函数、冒泡排序,二分法, 递归
    python 函数部分
  • 原文地址:https://www.cnblogs.com/llguanli/p/8289346.html
Copyright © 2011-2022 走看看