Android中holder模式的使用
来源:互联网 发布:mac启动战网闪退 编辑:程序博客网 时间:2024/05/22 20:40
Android中的holder模式,网上介绍的文章不多,其实在很多地方都有所应用。
在本博客的另外一篇文章中有对BaseAdapter的介绍,在重写getView方法时,随着Listview数目的增加,不断的执行getLayoutInflater的inflate方法获得view,再获得相应的布局子空间,这样的重复执行,无疑效率是很差的。
@Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub convertView = getLayoutInflater().inflate(R.layout.lv_items, null); TextView txt = (TextView)convertView.findViewById(R.id.txt); txt.setText("第" + position + "个"); return convertView; }
这时候Holder模式就可以派上用场了。
首先,声明Holder类:
class Holder{TextView txt;}
然后在getView中做相应处理:
@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubHolder holder;if(convertView==null){holder = new Holder();convertView = getLayoutInflater().inflate(R.layout.lv_items, null);holder.txt = (TextView)convertView.findViewById(R.id.txt);convertView.setTag(holder);//给convertView添加Holder,然后再用getTag()取出来}else{holder = (Holder)convertView.getTag();}holder.txt.setText("第" + position + "个");return convertView;}可以看到所有的view都只执行了一次,如果ListView数量,控件很多的话,将会极大的提高了程序的效率。
比起其他的开发模式,这个Holder真是又小又可爱,大家一定会很喜欢。
0 0
- Android中holder模式的使用
- Android Adapter中使用Holder 需要注意的地方
- Holder的使用
- holder.js的使用
- android中隔行着色与holder一起使用
- android 低耦合度的adapter与holder案例,使用butterknife
- 在Adapter中使用Holder的那些坑
- 在Adapter中使用Holder的那些坑
- 我在Adapter中使用holder时踩到的坑
- android MVP的holder变异
- Android ListView – Holder模式和getItemViewType
- Android ListView使用Holder优化原理
- Android ListView使用Holder优化原理
- javax.xml.ws.Holder的使用方式
- 天天记录 - Android ListView itemType使用Holder原理简单分析
- Android-面向Holder编程
- Android RecyclerView Adapter及Holder的封装【原创】
- ScrollView的Holder效果
- jQuery中的prop()与attr()的用法区别
- EL表达式
- Java中的String与常量池
- 第二章【线性表】思维导图
- CyclicBarrier&CountDownLatch&Exchanger 同步工具
- Android中holder模式的使用
- zoj 3819 Average Score(水题)
- tomcat官网下载
- 30年老程序员的精华经验分享
- linux系统安装android开发工具(eclipse)
- plsql中文乱码,显示问号
- ios中的陀螺仪和加速计
- KMP算法及其实现
- java数据结构之hash表