一、Adapter的介绍

An Adapter object acts as a bridge between an AdapterView and the underlying data for that view. The Adapter provides access to the data items. The Adapter is also responsible for making a View for each item in the data set.

一个Adapter是AdapterView视图与数据之间的桥梁,Adapter提供对数据的訪问,也负责为每一项数据产生一个相应的View。其作用例如以下图所看到的:

二、Adapter的继承关系

有两个adapter的体系,例如以下:

1、

2、

三、Adapter中的方法

在实际应用中,adapter的继承体系应用的更为广泛,所以,要对Adapter的方法有所了解

public interface Adapter {// 为了避免产生大量的View浪费内存,在Android中,AdapterView中的View是可回收的使用的。比方你有100项数据要显示,而你的屏幕一次仅仅能显示10条数据,则// 仅仅产生10个View,当往下拖动要显示第11个View时,会把第1个View的引用传递过去,更新里面的数据再显示,也就是说View可重用,仅仅是更新视图中的数据用于显示新// 的一项,如果一个视图的视图类型是IGNORE_ITEM_VIEW_TYPE的话,则此视图不会被重用static final int IGNORE_ITEM_VIEW_TYPE = AdapterView.ITEM_VIEW_TYPE_IGNORE;static final int NO_SELECTION = Integer.MIN_VALUE;// 注冊一个Observer,当Adapter所表示的数据改变时会通知它,DataSetObserver是一个抽象类,定义了两个方法:onChanged与onInvalidatedvoid registerDataSetObserver(DataSetObserver observer);// 取消注冊一个Observervoid unregisterDataSetObserver(DataSetObserver observer);// 所表示的数据的项数int getCount();// 返回指定位置的数据项Object getItem(int position);// 返回指定位置的数据项的IDlong getItemId(int position);// 表示全部数据项的ID是否是稳定的,在BaseAdapter中默认返回了false,如果是不稳定的,在CursorAdapter中返回了true,Cursor中的_ID是不变的boolean hasStableIds();// 为每个数据项产生对应的视图View getView(int position, View convertView, ViewGroup parent);// 获得对应位置的这图类型int getItemViewType(int position);// getView能够返回的View的类型数量。(在HeaderViewListAdapter中能够包括Header和Footer,getView能够返回Header、Footer及Adapter// 中的视图,但其getViewTypeCount的实现仅仅是调用了内部Adapter的的getViewTypeCount,忽略了Header、Footer中的View// Type,不懂。int getViewTypeCount();//是否为空boolean isEmpty();
}

转载于:https://www.cnblogs.com/mengfanrong/p/4265213.html

Android学习四、Android中的Adapter相关推荐

  1. 关于android隐式启动activity的分析和说明,Android学习之Intent中显示意图和隐式意图的用法实例分析...

    本文实例讲述了Android学习之Intent中显示意图和隐式意图的用法.分享给大家供大家参考,具体如下: Intent(意图)主要是解决Android应用的各项组件之间的通讯. Intent负责对应 ...

  2. Android学习笔记——Android 签名机制详解

    Android 签名机制详解 近期由于工作需要在学习 Android 的签名机制,因为没有现成资料,只能通过开发者文档和阅读博客的方式对 Android 签名机制进行大致了解.过程中查阅到的资料相对零 ...

  3. Android学习之Android历史

    一个优点:无论学习什么之前都要了解一下它的历史. Android读音:android 英 [ ˈændrɔɪd ] 美 [ ˈænˌdrɔɪd ],中文音译:"安叫伊德",或者&q ...

  4. 【Android学习】Android常用框架

    1,缓存 1)DiskLruCache Java实现基于LRU的磁盘缓存. 2,图片 1)Glide(已使用) ①概念 图片加载.  Glide 支持拉取,解码和展示视频快照,图片,和GIF动画. ② ...

  5. android学习笔记 android学习速成口诀(张迅雷闪击android系列)

    Android架构分4层  用框行li   (谐音:用框行礼) Android布局有5种  架线绝对表 (谐音:架电线绝对需要用表) 数据存储5方式    下贱似C网   (谐音:下贱的就是联通CDM ...

  6. Android学习之Android 5.0分享动画实现微信点击全屏效果

    Android5.0过渡动画,请看 http://blog.csdn.net/qq_16131393/article/details/51112772 今天用分享动画实现微信点击全屏效果 本文源代码下 ...

  7. Android 学习 之 Android 4.0 平台

    [size=large]转转转,感谢饿哦额Android的各位大侠,在这里谢过,我这里做个备份,嘿嘿!! http://www.eoeandroid.com/thread-103300-1-1.htm ...

  8. android 距离设置多少dp核实,【Android学习】android布局中几个距离单位的区别:px、dp、sp...

    一.px 像素,我们经常说的400*800这种的就是像素,这个比较好理解. 二.dp 要理解dp,首先要先引入dpi这个概念,dpi全称是dots per inch,对角线每英寸的像素点的个数,所以, ...

  9. Android学习笔记---android平台中利用,SAX解析xml

    1.SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备. SAX解析XML文件采用的是事件驱动,也就是说,它并不需要解析完整个文档,在按内容顺 序解析文档的过程中 ...

最新文章

  1. MapReduce骚气分析
  2. oracle指定用户SID,如何修改oracle SID
  3. 敏捷开发-Scrum与精益相得益彰
  4. lunbuntu install maven
  5. GDCM:png文件转为dcm文件的测试程序
  6. C语言通过链表指针删除链表节点的算法(附完整源码)
  7. 《需求设计:构建用户想要和需要的产品》——第1章 情境驱动设计入门1.1 对需求进行设计...
  8. MFC——在视图窗口加载背景图片
  9. Redis高级项目实战,java配置jdk环境时
  10. 标准配置的Windows平台上潜在可用屏幕区域
  11. 从底层重学 Java 之 Stream 初探 Gitchat连接
  12. linux下的多线程
  13. ACL2021 | 探讨跨句事件联合抽取问题
  14. 提高工作效率的几个网站
  15. 频繁gc是什么意思_什么情况下会发生full Gc?如何排查频繁发生full Gc的原因?...
  16. github网站下载方法
  17. 基于vmdk文件创建虚拟机
  18. Windows使用Hashcat
  19. android 图片方法,分享实现Android图片选择的两种方式
  20. 根据下图实现类。在CylinderTest类中创建Cylinder类的对象,设置圆柱的底面半径和高,并输出圆柱的体积,继承性

热门文章

  1. 【HDU - 1241】Oil Deposits (连通块问题 属于求大海中的岛屿个数 类似问题)
  2. 数据库提示:正在还原中,无法访问 应该怎么办?
  3. java1.5以后新增的特性_jdk1.5之后的一些新特性
  4. leetcode1528. 重新排列字符串
  5. (十八)深入浅出TCPIP之epoll的一些思考
  6. (十一)nodejs循序渐进-高性能游戏服务器框架pomelo之启动流程和组件
  7. 周志华《Machine Learning》 学习笔记系列(1)--绪论
  8. C语言深度剖析书籍学习记录 第六章 函数
  9. Java web后端6 java Bean EL表达式
  10. OpenCL memory object 之 传输优化