43、gridview或者listview的adapter优化
1、在getview时,如果是一个textview,那么不用每次都new一个或者inflater直接返回,可以先判断convertview是否为空,如果为空则new或者inflate,否则直接返回convertview
2、如果adapter数量太多,假设需要显示1000个数据,那么如果在getview时每次都是对inflate,那么是一种对资源的浪费,且卡顿现象严重,此时可以通过结合viewHolder提高效率
举例:
1、adapter的getview方法
@Override
public View getView( int pos, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub ViewHolderPushHistory holder;
final int position = pos; if(convertView == null)
{ CommonUtils.LogWuwei(tag, "pushHistoryAdapter getView position is "+pos); LayoutInflater inflater = (LayoutInflater)ctxt.getSystemService(Context.LAYOUT_INFLATER_SERVICE); holder = new ViewHolderPushHistory(); convertView = inflater.inflate(R.layout.gridview_history_item, null); holder.tv_serinal_num = (TextView)convertView.findViewById(R.id.textview_grdiview_history_item_serinal_num); holder.tv_whether_packaged = (TextView)convertView.findViewById(R.id.textview_grdiview_history_item_whether_packaged); holder.buttonContent = (TextView)convertView.findViewById(R.id.button_gridview_history_item_order_content); holder.buttonTime = (TextView)convertView.findViewById(R.id.textview_grdiview_history_item_time); convertView.setTag(holder);
}
else
{
holder = (ViewHolderPushHistory)convertView.getTag();
} holder.tv_serinal_num.setText(serinal_num); holder.buttonContent.setText("鱼香肉丝"); holder.tv_whether_packaged.setText("打包"); holder.buttonTime.setText(“2:12”); return convertView; }
2、定义一个存储信息的类
package com.shanfubaoAndroid.kitchenMealDone;
import android.widget.TextView;
public class ViewHolderPushHistory {
public TextView tv_serinal_num;
public TextView tv_whether_packaged ;
public TextView buttonContent ;
public TextView buttonTime ;
}
43、gridview或者listview的adapter优化的更多相关文章
- RecyclerView.Adapter优化了吗?
昨天写了一篇「还在用ListView?」讲的内容是RecyclerView的使用技巧以及一些经常使用的开源库.有朋友反馈"我已经在用recyclerview了",那么怎样让它更好用 ...
- Android零基础入门第43节:ListView优化和列表首尾使用
原文:Android零基础入门第43节:ListView优化和列表首尾使用 前面连续几期都在学习ListView的各种使用方法,如果细心的同学可能会发现其运行效率是有待提高的,那么本期就来一起学习有哪 ...
- ListView适配器Adapter介绍与优化
一.ListView与Adapter的关系 ListView是Android开发过程中较为常见的组件之一,它将数据以列表的形式展现出来.一般而言,一个ListView由以下三个元素组成: 1.View ...
- 43.Android之ListView中BaseAdapter学习
实际开发中个人觉得用的比较多是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView.GridView.Gallery.Spinner ...
- ListView和Adapter数据适配器的简单介绍
ListView 显示大量相同格式数据 常用属性: listSelector listView每项在选中.按下等不同状态时的Drawable divider ...
- Android listview与adapter用法
listview与adapter用法 博客分类: android 一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView ...
- ListView 和 Adapter用法
一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView就是实现这个功能的.第二点也不难做到,在后面的学习中读者会发现,这非常 ...
- 转-ListView的性能优化之convertView和viewHolder
ListView的性能优化之convertView和viewHolder 2014-05-14 参考:http://www.cnblogs.com/xiaowenji/archive/2010/12/ ...
- GridView 和ListView中自适应高度
android中GridView 和ListView放在scrollView中时会默认的只有一行高这时就要我们自己计算出它的高度啦 首先是listview的 //动态设置listview的高度 pu ...
随机推荐
- pure响应式布局
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Python学习笔记-day1(while流程控制)
count = 0 while True: #print('count:',count) if count == 3: print('you guess over 3 times!fuck off!' ...
- Windows下用cmd命令安装及卸载服务[转]
第一种方法: 1. 开始 ->运行 ->cmd2. cd到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727(Framework版本号按IIS配置) ...
- Win 10 Google 云端硬盘 网页证书问题导致无法登录解决办法
操作方法 按照图示,将以下3项勾去并确定. 效果 设置以后,可成功访问:
- POJ1061 青蛙的约会 __一维世界的爱情
由于今天上午在做数论知识的笔记,发现那时候赵老师讲的线性丢番图(求ax+by=c的特解)部分完全搞不懂,后来网上查了一下才发现这个公式就是求同余方程,所用方法就是扩展欧几里得算法.正好红皮书上有这么一 ...
- IOS 强指针(strong)和弱指针(weak)
// strong 强指针 // weak 弱指针 // ARC, 只要对象没有强指针就会自动释放 // OC中默认都是强指针
- 【BZOJ1216】[HNOI2003] 操作系统(堆+模拟)
点此看题面 大致题意: 有\(n\)个任务,每个任务有4个属性:编号.到达时间.执行时间和优先级.每个单位时间,会执行一个优先级最高(若有多个优先级最高的,就先执行到达时间较早的)的任务,请你按完成的 ...
- 【BZOJ1040】[ZJOI2008] 骑士(基环外向树DP)
点此看题面 大致题意: 给你一片基环外向树森林,如果选定了一个点,就不能选择与其相邻的节点.求选中点的最大权值和. 树形\(DP\) 此题应该是 树形\(DP\) 的一个升级版:基环外向树\(DP\) ...
- 为项目创建podfile
由于写项目 不常用到,容易忘记,记录一下 第一步:新建一个项目: 第二步:打开终端,输入 cd 第三步:把项目拖入终端,(获取项目路径) 第四步:回车,输入 pod init (生成podfile 文 ...
- DOS&8086微处理器
DOS DOS环境,需要安装dosemu来模拟DOS环境(Ubuntu的应用商店就有),为了编写汇编,还需要DEBUG.MASM.LINK等汇编语言开发工具.如果你嫌麻烦,推荐使用实验楼已搭好的免费的 ...