BaseAdapter使用的三种形式,逗比式,普通式,文艺式
把数据弄得适当,适合以在于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使用的三种形式,逗比式,普通式,文艺式相关推荐
- 素数计数公式全面拉丁化改写-小有改进-Meissel公式-梅塞尔-Lehmer公式-莱梅=勒梅尔-筛法三种形式-孟庆余公式(转载)...
何冬州的百度空间Blog 本文的另一版本: http://hi.baidu.com/wsktuuytyh/blog/item/396a934ac679680208f7ef2c.html 信 ...
- FMDB使用的数据库的三种形式
FMDB使用的数据库的三种形式 FMDB是iOS平台下一款优秀的第三方SQLite数据库框架.它以Objective-C的方式封装了SQLite的C语言API.使用起来,它更加面向对象,避免冗余的C语 ...
- 批量梯度下降 linux,梯度下降的三种形式BGD,SGD,MBGD(MSGD)
梯度下降的三种形式BGD,SGD,MBGD: Batch gradient descent: Use all examples in each iteration: Stochastic gradie ...
- 1. 变量提升 2. 条件语句 3. 循环语句 弹出框的三种形式 If条件的种类...
1. 变量提升 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域叫window ,window分两个模块,一个叫内存模块,一个叫运行模块,内存模块找到当前作用域下的 ...
- java光标移动函数_文件内光标的移动 函数基础 定义函数的三种形式 函数的返回值 调用方式...
# with open(r'a.txt', 'r', encoding='utf-8')as f: # data1=f.read() # print('>1>:',data1) # pri ...
- 创建Git仓库的三种形式
创建Git仓库的三种形式: 2种本地创建和远程拉取 文章目录 1. 在idea中初始化仓库 1.1. 进入目录,初始化仓库 1.2. git init 目录名 1.3.1 远程拉取 1. 在idea中 ...
- 梯度下降法的三种形式批量梯度下降法、随机梯度下降以及小批量梯度下降法
梯度下降法的三种形式BGD.SGD以及MBGD 梯度下降法的三种形式BGD.SGD以及MBGD 阅读目录 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. ...
- php数组书写形式,php数组(array)输出的三种形式讲解
php数组(array)输出的三种形式讲解 发布于 2015-01-30 15:57:43 | 119 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyperte ...
- 自动回复的三种形式?
自动回复的三种形式? 1.自动添加回复:粉丝添加时,自动的回复 2.关键词回复:消息里有关键词的回复,所自动回复消息回复 3.消息回复:粉丝发送没有关键词的,微信公众号自动的回复消息
- OCR识别技术 文档识别的三种形式
如何将文档上的文字转换成可编辑的文字,通俗一点说,就是将纸质上的文字转换成电子版形式的文字内容: 文档识别通常有三种形式,其利用的核心技术都是OCR文字识别技术. 步骤如下: 一.通过扫描,识别文字信 ...
最新文章
- @springbootapplication 注解_Spring Boot最核心的27个干货注解,你了解多少?
- Python在信号与系统(1)——Hilbert兑换,Hilbert在国家统计局的包络检测应用,FIR_LPF滤波器设计,格鲁吉亚也迫使高FM(PM)调制...
- wordpress 评论ajax,WordPress教程 WordPress实现提交评论ajax翻页效果教程
- 论文浅尝 | Know-Evolve: Deep Temporal Reasoning for Dynamic KG
- tomcat9 启动中提示 org.apache.catalina.webresources.Cache.getResource Unable to add t
- 360路由器刷openwrt后设置wifi中继
- js判断页面点击事件
- c#连接kafka_c#操作kafka(上)搭建kafka环境
- MATLAB遗传算法求函数最值
- 清除默认浏览器CSS样式
- 当下主流的数据库及其特点
- uc手机浏览器 手机模拟_在PC上测试移动端网站和模拟手机浏览器的5大方法
- 计算机网络技术双机互联,快速实现双机互联的几种方案
- CCF系列题解--2018年9月第一题 卖菜
- chrome谷歌浏览器安装插件
- 在线学习及作业平台管理系统(ssm,mysql)
- android framework-zygote进程
- Scrapy爬虫框架视频学习
- 苹果手机通讯录删除了怎么恢复
- rv1126平台spi屏调试