把数据弄得适当,适合以在于View上显示

我们常用的适配器一共有三个,当然不包含自定义的适配器,
那就是ArrayAdapter,SimpleAdapter,SimpleCursorAdapter这三个,他们都是继BaseAdapter

ArrayAdapter最为简单,只能展示一行字。
SimpleAdapter有最好的扩充性,可以自定义出各种效果。
SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合。

四个方法:
public int getCount() //得到数据的行数

public Object getItem(int position)//根据position得到某一行的记录

public long getItemId(int position)//得到某一条记录的ID
public View getView(int position, View convertView, ViewGroup parent)

BaseAdapter例子:
public class MyAdapter extends BaseAdapter {
private List<ItemBean> list;
private LayoutInflater inflater;

public MyAdapter(Context context, List<ItemBean> list) {
inflater = LayoutInflater.from(context);
this.list = list;
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

// // 逗比式
// View view = inflater.inflate(R.layout.item, null);
// ImageView imageview = (ImageView) view.findViewById(R.id.imageview);
// TextView tittle = (TextView) view.findViewById(R.id.tittle);
// TextView context = (TextView) view.findViewById(R.id.context);
// ItemBean bean = list.get(position);
// imageview.setImageResource(bean.ImageResid);
// tittle.setText(bean.title);
// context.setText(bean.context);
// return view;

// // 普通式,利用了ListView的缓存,使用convertView
// if (convertView == null) {
// convertView = inflater.inflate(R.layout.item, null);
// }
// ImageView imageview = (ImageView) convertView
// .findViewById(R.id.imageview);
// TextView tittle = (TextView) convertView.findViewById(R.id.tittle);
// TextView context = (TextView) convertView.findViewById(R.id.context);
// ItemBean bean = list.get(position);
// imageview.setImageResource(bean.ImageResid);
// tittle.setText(bean.title);
// context.setText(bean.context);
// return convertView;

// 文艺式,利用了ListView的缓存,更通过ViewHolder类来实现显示数据的试图的缓存,避免多次通过findViewById寻找控件
ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.item, null);
viewHolder.ViewHolderimageView = (ImageView) convertView
.findViewById(R.id.imageview);
viewHolder.ViewHoldertitle = (TextView) convertView
.findViewById(R.id.tittle);
viewHolder.ViewHoldercontent = (TextView) convertView
.findViewById(R.id.context);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
ItemBean bean = list.get(position);
viewHolder.ViewHolderimageView.setImageResource(bean.ImageResid);
viewHolder.ViewHoldertitle.setText(bean.title);
viewHolder.ViewHoldercontent.setText(bean.context);
return convertView;
}

class ViewHolder {
public ImageView ViewHolderimageView;
public TextView ViewHoldertitle;
public TextView ViewHoldercontent;
}
}

BaseAdapter使用的三种形式,逗比式,普通式,文艺式相关推荐

  1. 素数计数公式全面拉丁化改写-小有改进-Meissel公式-梅塞尔-Lehmer公式-莱梅=勒梅尔-筛法三种形式-孟庆余公式(转载)...

    何冬州的百度空间Blog   本文的另一版本:  http://hi.baidu.com/wsktuuytyh/blog/item/396a934ac679680208f7ef2c.html    信 ...

  2. FMDB使用的数据库的三种形式

    FMDB使用的数据库的三种形式 FMDB是iOS平台下一款优秀的第三方SQLite数据库框架.它以Objective-C的方式封装了SQLite的C语言API.使用起来,它更加面向对象,避免冗余的C语 ...

  3. 批量梯度下降 linux,梯度下降的三种形式BGD,SGD,MBGD(MSGD)

    梯度下降的三种形式BGD,SGD,MBGD: Batch gradient descent: Use all examples in each iteration: Stochastic gradie ...

  4. 1. 变量提升 2. 条件语句 3. 循环语句 弹出框的三种形式 If条件的种类...

    1.     变量提升 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域叫window ,window分两个模块,一个叫内存模块,一个叫运行模块,内存模块找到当前作用域下的 ...

  5. java光标移动函数_文件内光标的移动 函数基础 定义函数的三种形式 函数的返回值 调用方式...

    # with open(r'a.txt', 'r', encoding='utf-8')as f: # data1=f.read() # print('>1>:',data1) # pri ...

  6. 创建Git仓库的三种形式

    创建Git仓库的三种形式: 2种本地创建和远程拉取 文章目录 1. 在idea中初始化仓库 1.1. 进入目录,初始化仓库 1.2. git init 目录名 1.3.1 远程拉取 1. 在idea中 ...

  7. 梯度下降法的三种形式批量梯度下降法、随机梯度下降以及小批量梯度下降法

    梯度下降法的三种形式BGD.SGD以及MBGD 梯度下降法的三种形式BGD.SGD以及MBGD 阅读目录 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. ...

  8. php数组书写形式,php数组(array)输出的三种形式讲解

    php数组(array)输出的三种形式讲解 发布于 2015-01-30 15:57:43 | 119 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyperte ...

  9. 自动回复的三种形式?

    自动回复的三种形式? 1.自动添加回复:粉丝添加时,自动的回复 2.关键词回复:消息里有关键词的回复,所自动回复消息回复 3.消息回复:粉丝发送没有关键词的,微信公众号自动的回复消息

  10. OCR识别技术 文档识别的三种形式

    如何将文档上的文字转换成可编辑的文字,通俗一点说,就是将纸质上的文字转换成电子版形式的文字内容: 文档识别通常有三种形式,其利用的核心技术都是OCR文字识别技术. 步骤如下: 一.通过扫描,识别文字信 ...

最新文章

  1. @springbootapplication 注解_Spring Boot最核心的27个干货注解,你了解多少?
  2. Python在信号与系统(1)——Hilbert兑换,Hilbert在国家统计局的包络检测应用,FIR_LPF滤波器设计,格鲁吉亚也迫使高FM(PM)调制...
  3. wordpress 评论ajax,WordPress教程 WordPress实现提交评论ajax翻页效果教程
  4. 论文浅尝 | Know-Evolve: Deep Temporal Reasoning for Dynamic KG
  5. tomcat9 启动中提示 org.apache.catalina.webresources.Cache.getResource Unable to add t
  6. 360路由器刷openwrt后设置wifi中继
  7. js判断页面点击事件
  8. c#连接kafka_c#操作kafka(上)搭建kafka环境
  9. MATLAB遗传算法求函数最值
  10. 清除默认浏览器CSS样式
  11. 当下主流的数据库及其特点
  12. uc手机浏览器 手机模拟_在PC上测试移动端网站和模拟手机浏览器的5大方法
  13. 计算机网络技术双机互联,快速实现双机互联的几种方案
  14. CCF系列题解--2018年9月第一题 卖菜
  15. chrome谷歌浏览器安装插件
  16. 在线学习及作业平台管理系统(ssm,mysql)
  17. android framework-zygote进程
  18. Scrapy爬虫框架视频学习
  19. 苹果手机通讯录删除了怎么恢复
  20. rv1126平台spi屏调试

热门文章

  1. Linux内核线程kernel thread详解--Linux进程的管理与调度(十)
  2. Zebra命令模式分析
  3. Systrace分析app启动分析
  4. linux内核定时器使用及原理
  5. 编译最新版webrtc源码和编译好的整个项目10多个G【分享】
  6. freeSWITCH中动态加载模块
  7. 注册(四)之删除绑定
  8. uboot 使用fdt命令查看设备树
  9. 51Nod - 1051(思维)
  10. B - 最短路径问题