ViewHolder高效使用

来源:互联网 发布:linux 查看文件命令 编辑:程序博客网 时间:2024/06/10 11:05

网上看到的ViewHolder的高效使用方法,和老方法有些区别,到底有没有高效我不太清楚,不过有时候使用时没有老方法方便

不过在android studio上会有警告,所以修改了一下

public class ViewHolder {public static View get(View view, int id) {ViewList viewHolder = (ViewList) view.getTag();//SparseArray<View> viewHolder = (SparseArray<View>) view.getTag()原来是这样写的,但是会有警告,这样就无警告if (viewHolder == null) {viewHolder = new ViewList();view.setTag(viewHolder);}View childView = viewHolder.get(id);if (childView == null) {childView = view.findViewById(id);viewHolder.put(id, childView);}return childView;}}public class ViewList {private SparseArray<View> list;public ViewList(){list = new SparseArray<>();}public View get(int key){return list.get(key);}public void put(int key,View view){list.put(key,view);}}


0 0