万能ViewHolder
最近发现一个比较好的代码,就是我们常用的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相关推荐
- 9.Android 万能ViewHolder
9.Android 万能ViewHolder Android 万能ViewHolder ViewHolder的作用 万能ViewHolder的原理 在你的BaseListAdapter中可以这么实现 ...
- Android:打造“万能”Adapter与ViewHolder
##写在前面 最近一直忙着各种结课大作业,重新看起Android还有种亲切感.前段时间写项目的时候,学习了一个万能Adapter与ViewHolder的写法.说是"万能"其实就是在 ...
- Java泛型应用之打造Android中ListView和GridView万能适配器【CommonAdapter】--超简洁写法
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/52813227 [DylanAndroid的csdn博客] 在android中使 ...
- android ViewHolder的相关知识
listView的优化方式 重用convertView viewHolder static class viewHolder 在列表里面有图片的情况下,监听滑动不加载图片 多个不同布局,可以创建不同的 ...
- 安卓开发笔记(十):升级ListView为RecylerView的使用
概述 RecyclerView是什么 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传统的ListView,更加强大和灵活.Recycle ...
- Android ListView优化之局部刷新(更新)(非notifyDataSetChanged)
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53020164 [DylanAndroid的csdn博客] 在Android开发 ...
- Android 控件 RecyclerView 看这篇就够了
[Android 控件 RecyclerView] 概述 RecyclerView是什么 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传 ...
- Android 控件 RecyclerView
[Android 控件 RecyclerView] 概述 RecyclerView是什么 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传 ...
- 基于BaseAdapter的安卓百变Adapter实现
因为懒惰,所以造就各种便捷的工具类. --来自懒惰的猿 Android写了很多的listview也写了很多adapter,每个适配器都要实现它的方法,每个适配器里面还要加一个内部类viewHolder ...
最新文章
- 21世纪科技生态面临第三次全球标准
- 汕头和汕头职业学院游记
- RabbitMQ(三) ——发布订阅
- python二分法编程_python基础18——二分法面向过程匿名函数
- Vim/GVim格式化xml文件
- 无限踩坑系列(5)-MySQLdb
- Java技术回顾之JNDI--实例
- 面向手绘图形,涵盖多个主题,CVPR 2022 SketchDL Workshop开始征稿!
- 【报告分享】2021年小红书美妆护肤洞察报告.pdf(附下载链接)
- 基于jsp的失物招领系统_基于Java web的校园失物招领系统
- Unicode,ANSI,UTF-8的故事
- 设置linux系统的线程数量,Linux_查看系统cpu个数、核心数、线程数
- Unity 2D人物移动实现
- 关于语言发育迟缓的孩子
- 动态内存分配(详解)
- java开发实战小参考常见问题及处理
- Linux 文件系统原理 / 虚拟文件系统VFS
- python利用公式计算e的值
- 叠加原理--戴维南等效电路--第四篇
- 微型计算机是计算器吗,小型计算机和微型计算机是同一个吗?
热门文章
- 键盘--(微机原理实验五)
- 麒麟KY-RTI分布仿真技术:前言
- 解决【无任何网络提供程序接受指定的网络路径】
- js 让鼠标右下角有一排小字_JavaScript浮动广告代码,容纯DIV/CSS对联漂浮广告代码,兼容性非常好的js右下角与漂浮广告代码...
- [014] Android应用程序签名详解
- matlab多目标遗传算法,MOGA多目标遗传算法Matlab工具箱 NSGA-II
- php 框架注解,laravel框架常用的注解
- IbBBX24–IbTOE3–IbPRX17模块通过清除甘薯中的活性氧来增强甘薯对非生物胁迫耐受性
- realme 拨号代码_苹果手机信号差?或许是英特尔的锅,这串代码自查
- Spring AOP原理及使用,面试必备