package com.jumige.android.ui.template.utils;
/**
* Author: cyning
* Date : 2015.04.27
* Time : 下午2:37
* * <P> 参照http://www.cnblogs.com/wenjiang/p/4185930.html</P>
* <p>博文中有详细的使用过程和情景</p>
*/
import android.support.v4.util.SparseArrayCompat;
import android.view.View;
public class CommonViewHolder {
/**
* 用于获取ItemView中的控件
*
* @param view ItemView
* @param id 要获取的控件的id
* @param <T> 返回的控件的类型
* @return 返回的控件
*/
public static <T extends View> T get(View view, int id) {
SparseArrayCompat<View> viewHolder = (SparseArrayCompat<View>) view.getTag();
if (viewHolder == null) {
viewHolder = new SparseArrayCompat<>();
view.setTag(viewHolder);
}
View childView = viewHolder.get(id);
if (childView == null) {
childView = view.findViewById(id);
viewHolder.put(id, childView);
}
return (T) childView;
}
}