public class ViewHolder {
@SuppressWarnings("unchecked")
public static <T extends View> T getView(View rootView, int id) {
//Key-Integer : Value-Object
SparseArray<View> viewHolder = (SparseArray<View>) rootView.getTag();
if (viewHolder == null) {
viewHolder = new SparseArray<View>(10);
rootView.setTag(viewHolder);
}
View childView = viewHolder.get(id);
if (childView == null) {
childView = rootView.findViewById(id);
viewHolder.put(id, childView);
}
return (T) childView;
}
}
为了提高ListView 的加载效率,ViewHolder是必不可少的。
这个ViewHolder写的很好,拿来给大家分享下