BaseAdapter 基础知识

BaseAdapter 基础知识

一.BaseAdapter 简介及使用场景

BaseAdapter 是一个抽象类,常用于和 Android 中的一些控件如
ListView ,GridView,ExpandableListview,Spinner 等控件结合来显示数据的一种 控件,在 Android 开发中占有很重要的位置。

二.Adapter 结构图

BaseAdapter 基础知识_第1张图片

三.BaseAdapter 的使用步骤

BaseAdapter 是一个抽象类,在使用时

  • 首先,定义一个类来继承该类;
  • 其次,实现里面对应的抽象方法,同时完成方法体的书写;
  • 最后,在相应的 Activity 中使用该适配器。

四.BaseAdapter 中抽象方法介绍

1. 需要重写的方法及作用介绍,如下图所示:

BaseAdapter 基础知识_第2张图片

2. getView()方法的介绍

1) 参数介绍:

BaseAdapter 基础知识_第3张图片

2) getView()方法的优化处理

第一种优化方式:

通过缓存 convertView,这种利用缓存 contentView 的方式可以判断如果缓 存中不存在 View 才创建 View,如果已经存在可以利用缓存中的 View,提升 了性能

BaseAdapter 基础知识_第4张图片

第二种优化:(常用

  1. 通过 convertView+ViewHolder 来实现,ViewHolder 就是一

    个静态类,使用 ViewHolder 的关键好处是缓存了显示数据

    的视图(View),加快了 UI 的响应速度。

  2. 当我们判断 convertView == null 的时候,如果为空,就会

    根据设计好的 List 的 Item 布局(XML),来为 convertView 赋值,并生成一个 viewHolder 来绑定 converView 里面的各 个 View 控件(XML 布局里面的那些控件)。再用 convertView 的 setTag 将 viewHolder 设置到 Tag 中,以便 系统第二次绘制 ListView 时从 Tag 中取出。(看下面代码 中)

  3. 如果 convertView 不为空的时候,就会直接用 convertView 的 getTag(),来获得一个 ViewHolder。

常用优化的代码如下:

BaseAdapter 基础知识_第5张图片

你可能感兴趣的:(2-android进阶)