BaseAdapter 基础知识
来源:互联网 发布:淘宝代购需要什么证明 编辑:程序博客网 时间:2024/05/16 14:36
一.BaseAdapter 简介及使用场景
BaseAdapter 是一个抽象类,常用于和 Android 中的一些控件如ListView ,GridView,ExpandableListview,Spinner 等控件结合来显示数据的一种控件,在 Android 开发中占有很重要的位置。
二.Adapter 结构图
三.BaseAdapter 的使用步骤
BaseAdapter 是一个抽象类,在使用时首先,定义一个类来继承该类;其次,实现里面对应的抽象方法,同时完成方法体的书写;最后,在相应的Activity 中使用该适配器。
四.BaseAdapter 中抽象方法介绍
1. 需要重写的方法及作用介绍,如下图所示:
2. getView()方法的介绍
1) 参数介绍:
2) getView()方法的优化处理
第一种优化方式:
通过缓存 convertView,这种利用缓存 contentView 的方式可以判断如果缓存中不存在 View 才创建 View,如果已经存在可以利用缓存中的 View,提升了性能
第二种优化:
i. 通过 convertView+ViewHolder 来实现,ViewHolder 就是一个静态类,使用 ViewHolder 的关键好处是缓存了显示数据的视图(View),加快了 UI 的响应速度。
ii. 当我们判断 convertView == null 的时候,如果为空,就会根据设计好的 List 的 Item 布局(XML),来为 convertView赋值,并生成一个 viewHolder 来绑定 converView 里面的各个 View 控件(XML 布局里面的那些控件)。再用convertView 的 setTag 将 viewHolder 设置到 Tag 中,以便系统第二次绘制 ListView 时从 Tag 中取出。(看下面代码中)
iii. 如果 convertView 不为空的时候,就会直接用 convertView的 getTag(),来获得一个 ViewHolder。
常用优化的代码如下:
- BaseAdapter 基础知识
- BaseAdapter
- baseAdapter
- BaseAdapter
- BaseAdapter
- BaseAdapter
- BaseAdapter
- baseAdapter
- BaseAdapter
- BaseAdapter
- BASEAdapter
- BaseAdapter
- BaseAdapter......
- BaseAdapter
- BaseAdapter
- BaseAdapter
- BaseAdapter
- BaseAdapter
- 支付宝支付为什么出现填写卡号
- CodeForces
- xcode真机调试无法运行或者安装包无法运行
- Qt中update()和repaint()的区别
- EditText想要让默认输入类型为数字,并且可以切换到其他输入类型
- BaseAdapter 基础知识
- JAVA学习之JAVAC使用详解
- volatile关键字解析
- 基于配置的springMVC图片上传
- oracle两表连接多个结果集合成一列
- 页面找不到
- spring security rememb…
- 上传图片奇葩错
- 指针的运算