zoukankan      html  css  js  c++  java
  • ViewHolder最简洁的写法

    通用viewHolder工具类:

    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;
        }
    }

    getview中的写法:

    public View getView(int position, View convertView, ViewGroup parent) {
    
        if (convertView == null) {
            convertView = LayoutInflater.from(context)
              .inflate(R.layout.banana_phone, parent, false);
        }
    
        TextView ageTv = ViewHolder.get(convertView, R.id.agetv);
        TextView nameTv = ViewHolder.get(convertView, R.id.nametv);
    
        Student student = getItem(position);
        ageTv .setText(student.getAge());
        nameTv.setText(student.getName()); 
        return convertView;
    }
  • 相关阅读:
    Java Web前后端分离的思考与实践
    JDBC剖析篇(1):java中的Class.forName()
    UVa1471
    Uva11572
    Uva11134
    Uva10755
    Floyd判圈法
    Java泛型-通配符的上限和下限问题
    Codeforces 384E-线段树+dfs序
    codeforcesRound378C-dfs+树状数组
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/4194785.html
Copyright © 2011-2022 走看看