最近发现一个比较好的代码,就是我们常用的ViewHolder,代码如下

public class ViewHolder {@SuppressWarnings("unchecked")public static <T extends View> T get(View view,int id){SparseArray<View> viewHolder = (SparseArray<View>) view.getTag();if(null == viewHolder){viewHolder = new SparseArray<View>();view.setTag(viewHolder);}View childView = viewHolder.get(id);if(null == childView){childView = view.findViewById(id);viewHolder.put(id,childView);}return (T)childView;}}

相比之前的在每个Adapter中都写个ViewHolder这个方便了很多,直接调用工具类就好了,接下来上调用代码

public class MAdapter extends BaseAdapter {private final LayoutInflater inflater;public MAdapter(Context context) {inflater = LayoutInflater.from(context);}@Overridepublic int getCount() {return 0;}@Overridepublic Object getItem(int position) {return null;}@Overridepublic long getItemId(int position) {return 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {View view = null;if(convertView == null){view = inflater.inflate(R.layout.item,parent,false);}else{view = convertView;}ImageView iv = ViewHolder.get(view, R.id.iv);TextView tv = ViewHolder.get(view, R.id.tv);iv.setImageResource(R.drawable.image1);tv.setText("test");return view;}
}

如此一来是不是感觉方便了很多

万能ViewHolder相关推荐

  1. 9.Android 万能ViewHolder

    9.Android 万能ViewHolder Android 万能ViewHolder ViewHolder的作用 万能ViewHolder的原理 在你的BaseListAdapter中可以这么实现 ...

  2. Android:打造“万能”Adapter与ViewHolder

    ##写在前面 最近一直忙着各种结课大作业,重新看起Android还有种亲切感.前段时间写项目的时候,学习了一个万能Adapter与ViewHolder的写法.说是"万能"其实就是在 ...

  3. Java泛型应用之打造Android中ListView和GridView万能适配器【CommonAdapter】--超简洁写法

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/52813227 [DylanAndroid的csdn博客] 在android中使 ...

  4. android ViewHolder的相关知识

    listView的优化方式 重用convertView viewHolder static class viewHolder 在列表里面有图片的情况下,监听滑动不加载图片 多个不同布局,可以创建不同的 ...

  5. 安卓开发笔记(十):升级ListView为RecylerView的使用

    概述 RecyclerView是什么 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传统的ListView,更加强大和灵活.Recycle ...

  6. Android ListView优化之局部刷新(更新)(非notifyDataSetChanged)

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53020164 [DylanAndroid的csdn博客] 在Android开发 ...

  7. Android 控件 RecyclerView 看这篇就够了

    [Android 控件 RecyclerView] 概述 RecyclerView是什么 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传 ...

  8. Android 控件 RecyclerView

    [Android 控件 RecyclerView] 概述 RecyclerView是什么 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传 ...

  9. 基于BaseAdapter的安卓百变Adapter实现

    因为懒惰,所以造就各种便捷的工具类. --来自懒惰的猿 Android写了很多的listview也写了很多adapter,每个适配器都要实现它的方法,每个适配器里面还要加一个内部类viewHolder ...

最新文章

  1. 21世纪科技生态面临第三次全球标准
  2. 汕头和汕头职业学院游记
  3. RabbitMQ(三) ——发布订阅
  4. python二分法编程_python基础18——二分法面向过程匿名函数
  5. Vim/GVim格式化xml文件
  6. 无限踩坑系列(5)-MySQLdb
  7. Java技术回顾之JNDI--实例
  8. 面向手绘图形,涵盖多个主题,CVPR 2022 SketchDL Workshop开始征稿!
  9. 【报告分享】2021年小红书美妆护肤洞察报告.pdf(附下载链接)
  10. 基于jsp的失物招领系统_基于Java web的校园失物招领系统
  11. Unicode,ANSI,UTF-8的故事
  12. 设置linux系统的线程数量,Linux_查看系统cpu个数、核心数、线程数
  13. Unity 2D人物移动实现
  14. 关于语言发育迟缓的孩子
  15. 动态内存分配(详解)
  16. java开发实战小参考常见问题及处理
  17. Linux 文件系统原理 / 虚拟文件系统VFS
  18. python利用公式计算e的值
  19. 叠加原理--戴维南等效电路--第四篇
  20. 微型计算机是计算器吗,小型计算机和微型计算机是同一个吗?

热门文章

  1. 键盘--(微机原理实验五)
  2. 麒麟KY-RTI分布仿真技术:前言
  3. 解决【无任何网络提供程序接受指定的网络路径】
  4. js 让鼠标右下角有一排小字_JavaScript浮动广告代码,容纯DIV/CSS对联漂浮广告代码,兼容性非常好的js右下角与漂浮广告代码...
  5. [014] Android应用程序签名详解
  6. matlab多目标遗传算法,MOGA多目标遗传算法Matlab工具箱 NSGA-II
  7. php 框架注解,laravel框架常用的注解
  8. IbBBX24–IbTOE3–IbPRX17模块通过清除甘薯中的活性氧来增强甘薯对非生物胁迫耐受性
  9. realme 拨号代码_苹果手机信号差?或许是英特尔的锅,这串代码自查
  10. Spring AOP原理及使用,面试必备