万能的ViewHolder

来源:互联网 发布:java怎么解析cad图纸 编辑:程序博客网 时间:2024/05/16 00:35

public class BaseViewHolder {
@SuppressWarnings(“unchecked”)
public static T get(View view, int id) {
SparseArray viewHolder = (SparseArray) view.getTag();
if (viewHolder == null) {
viewHolder = new SparseArray();
view.setTag(viewHolder);
}
View childView = viewHolder.get(id);
if (childView == null) {
childView = view.findViewById(id);
viewHolder.put(id, childView);
}
return (T) childView;
}
}
在Android的listView控件中使用该viewholder会方便很多,调用方法如下:
TextView tv = BaseViewHolder.get(convertView, R.id.tv_item);

0 0