Android ListView ViewHolder

利用adapter中的getView的 contentView 的复用机制进行优化。

listview的原理

listView,初始化的时候就会使用inflater来渲染这些view(这些是耗费资源的操作), 如果没有优化,每次都会执行这个inflater来渲染。

优化的原理

创建一个静态类ViewHolder,如果contentView不为空,我们可以通过设置contentView的Tag来保存ViewHolder,不用再 每次去inflater。

demo

static class ViewHolder {

public TextView deviceName;

}

private class TAdapter extends BaseAdapter{

@Override

public int getCount() {

return beanList.size();

}

@Override

public Object getItem(int position) {

return beanList.get(position);

}

@Override

public long getItemId(int position) {

return position;

}

@Override

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

ViewHolder viewHolder;

if(convertView == null){

convertView = getActivity().getLayoutInflater().inflater(R.layou.layout_list,parent,false);

viewHolder = new ViewHolder();

viewHolder.deviceName = (TextView)convertView.findViewById(R.id.device_name);

convertView.setTag(viewHolder);//在这里保存在converView中

}else{

viewHolder = (ViewHolder)convertView.getTag();

}

viewHolder.deviceName.setText(beanList.get(position).getText();

return convertView;

}

}

android viewholder静态,Android listview viewholder相关推荐

  1. android viewholder静态,android – 静态ViewHolder并在使用RecyclerView时获取上下文

    我正在尝试使用回收器视图并处理单击事件.我已经阅读了在回收站视图项上处理onClick事件的各种方法,例如: >在视图持有者类本身内定义单击侦听器. >在onCreateViewHolde ...

  2. Android listview viewholder

    2019独角兽企业重金招聘Python工程师标准>>> Android ListView ViewHolder 利用adapter中的getView的 contentView 的复用 ...

  3. android holder 内部类,Android RecyclerView中的ViewHolder

    在使用android提供的组件以列表的格式显示数据时,使用过ListView组件和RecyclerView组件.目前一般推荐使用RecyclerView,因为RecyclerView本身的缓存和效率比 ...

  4. int android.support.v7.widget.RecyclerView$ViewHolder.mItemViewType' on a null.....

    今天在做一个即时通讯回话列表时,遇到int android.support.v7.widget.RecyclerView$ViewHolder.mItemViewType' on a null..空指 ...

  5. android适配器封装,Android万能适配器(一)封装ViewHolder

    封装 ViewHolder 简单分析ViewHolder封装.ViewHolder内部正常是保存每个页面控件的索引,那么封装时候我们可以使用容器把每个Item布局中的所有控件存储到这个容器里面,每次使 ...

  6. ListView Viewholder的坑 线性布局的坑

    1.ListView Viewholder的坑 /*** 默认带图片的menu adapter*/public static class MenuImageAdapter extends BaseAd ...

  7. android listview 列加id,Android实战开发之ListView同一个item显示2列的实现方法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Android实战开发中,ListView控件用途十分广泛,各种自定义控件多种多样.当项目要求实现一个2列的商品列表形式的界面,我们首先肯定想到用List ...

  8. 【转】Android 带checkbox的listView 实现多选,全选,反选 -- 不错

    原文网址:http://blog.csdn.net/onlyonecoder/article/details/8687811 Demo地址(0分资源):http://download.csdn.net ...

  9. listview在java中的使用_我的Android开发之路——ListView的使用

    在Android开发过程中,遇到需要列表显示的时候,这时候就会用到listview. 1.首先创建一个ListViewTest项目,选择empty activity类型.修改activity_main ...

  10. android listview asynctask,Android精通之AsyncTask与ListView讲解

    版权声明:未经博主允许不得转载 标题图 AsyncTask 了解AsyncTask异步,需要了解一下异步任务(多线程),什么是线程,可以这么说线程好比边吃饭边看电视,AsyncTask是为了方便后台线 ...

最新文章

  1. 【骚气的动效】外发光涟漪波纹动画、向外辐射动画效果,通常用于地图上面某一个扩散点效果
  2. tensorflow 代码调试工具tfdbg的用法
  3. 如何用极致业务基础平台做一个通用企业ERP系列之二一览表培训
  4. android studio 抽屉,java - Android导航抽屉(由Android Studio默认提供) - 堆栈内存溢出...
  5. std::tostring_枚举:如何正确使用name()和toString()方法
  6. WCF学习笔记之序列化
  7. 逆袭之旅.DAY08东软实训.多态~
  8. 细腻剖析2010年3月四级网络工程师试卷解题思路
  9. ngnix 执行php 慢,【nginx】PHP有什么办法可以排查那些脚本或方法执行慢,需要优化?...
  10. java核心技术 下载 网盘_【资源分享】某宝买的40000GB游戏,有你想要的游戏哦,可单独保存或下载...
  11. RoboWare的安装与使用
  12. android textview左边图片,Android TextView 多种方式显示图片-Fun言
  13. Minimum supported Gradle version is 5.4.1. Current version is 4.10.1. If using the gradle wrapper
  14. 【ibokan】好的用户界面-界面设计的一些技巧
  15. 如何系统地学习linux
  16. OC作业- 图书馆管理系统
  17. 向量ab怎么用计算机打出来,数学ab上面加一横线-数学符号如何打?急急急!!!向量AB上的剪 – 手机爱问...
  18. emacs org初学者指南
  19. sql server存储过程练习
  20. eSpace VTM Solution在金融信贷领域的应用开发

热门文章

  1. Date类与DateFormat类
  2. 布衣联盟装机常用软件光盘——金鼠报春版
  3. 玩转MP4视频格式制作转换秘籍
  4. 小学教师计算机培训记录内容,中小学教师信息技术培训计划
  5. 使用javascript实现点击复制到剪贴板
  6. 小程序按钮如何制作?
  7. 人工智能AI系列 - 音频搜索之声纹搜索
  8. 什么是需求跟踪矩阵RTM
  9. Macromedia Flash 8 Video Encoder安装
  10. 计算机网络(读书笔记)