码迷,mamicode.com
首页 > 移动开发 > 详细

android中ViewHolder通用简洁写法

时间:2014-06-25 23:38:42      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:android   style   class   blog   code   ext   

 

public class ViewHolder {     // I added a generic return type to reduce the casting noise in client code     @SuppressWarnings("unchecked")     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;     }
}

 

使用方式如下:

 

@Override
public View getView(int position, View convertView, ViewGroup parent) {       if (convertView == null) {         convertView = LayoutInflater.from(context)           .inflate(R.layout.banana_phone, parent, false);     }       ImageView bananaView = ViewHolder.get(convertView, R.id.banana);     TextView phoneView = ViewHolder.get(convertView, R.id.phone);       BananaPhone bananaPhone = getItem(position);     phoneView.setText(bananaPhone.getPhone());     bananaView.setImageResource(bananaPhone.getBanana());       return convertView;
}

 

 

可以将此类添加到常用类库中,一劳永逸。

android中ViewHolder通用简洁写法,布布扣,bubuko.com

android中ViewHolder通用简洁写法

标签:android   style   class   blog   code   ext   

原文地址:http://www.cnblogs.com/hsx514/p/3804499.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!