【No8.】ViewHolder的再次简化、优化写法 Cool!
来源:互联网 发布:linux 装载磁盘 编辑:程序博客网 时间:2024/05/17 06:19
package com.example.simpleviewholder;import android.util.SparseArray;import android.view.View;/** * Viewholder的简化 * * @ClassName: ViewHolder * @Description: TODO * @author Simon * @date 2014-8-22 上午9:56:29 */@SuppressWarnings("unchecked")public class ViewHolder {public static <T extends View> T get(View view, int id) {SparseArray<View> viewHolder = (SparseArray<View>) view.getTag();if (viewHolder == null) {viewHolder = new SparseArray<View>();view.setTag(viewHolder);}View childView = viewHolder.get(id);if (childView == null) {childView = view.findViewById(id);viewHolder.put(id, childView);}return (T) childView;}}
以上是ViewHolder的优化写法、可以直接作为一个工具类放到Utils包里面;
对于SparseArray类的介绍我就不多说了大家直接看吧:http://blog.csdn.net/kaixinbingju/article/details/8658428
下面是用法:
public class MyAdapter extends BaseAdapter {private LayoutInflater mInflater;private List<String> list;MyAdapter(Context mContext,List<String> list) {mInflater = LayoutInflater.from(mContext);this.list = list;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list != null ? list.size() : 0;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn list.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubif (convertView == null) {Log.i("Simon", "convertView == null" + (convertView == null));convertView = mInflater.inflate(R.layout.item, parent, false);}TextView mTextView = ViewHolder.get(convertView, R.id.textView1);mTextView.setText(list.get(position).trim());return convertView;}}
是不是瞬间感觉自己的代码 高大上 了~
0 0
- 【No8.】ViewHolder的再次简化、优化写法 Cool!
- ViewHolder的另一种简化的巧妙写法
- ViewHolder模式超简洁写法,很cool!
- ViewHolder模式超简洁写法,很cool!
- ViewHolder模式超简洁写法,很cool!
- ViewHolder模式超简洁写法,很cool!
- ViewHolder模式超简洁写法,很cool!
- ViewHolder模式超简洁写法,很cool!
- ViewHolder模式超简洁写法,很cool!
- ViewHolder模式超简洁写法,很cool!
- ViewHolder模式超简洁写法,很cool
- Android有用的工具类:倒计时器、 ViewHolder简化写法
- [Android分享] ViewHolder模式超简洁写法,很cool!
- Android简洁的ViewHolder写法的一点优化
- ViewHolder的 简洁写法
- ViewHolder的简洁写法
- ViewHolder的另一种写法
- 通用ViewHolder的写法
- GLX学习与分析
- python学习-错误记录-打印多个变量时少了comma,逗号
- git查看某个文件的修改历史
- Android wakelock 学习总结第二篇
- MVC(ui中的)概述
- 【No8.】ViewHolder的再次简化、优化写法 Cool!
- scp错误 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
- html css 控制图片局部显示
- c语言线性表详解
- Android wakelock 学习总结第三篇
- Python模块安装
- exec函数族实例讲解
- linux中fork()函数详解(转载)
- X Window 的 OpenGL 扩展 —— GLX