ViewHolder最简洁的写法

简介: 通用viewHolder工具类: public class ViewHolder { // I added a generic return type to reduce the casting noise in client code @SuppressWarnings(...

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

 

相关文章
|
6月前
vector删除的简洁写法
vector删除的简洁写法
|
XML Java Maven
一个封装好的dialog工具类,减少重复的代码,简洁又方便使用!
一个封装好的dialog工具类,减少重复的代码,简洁又方便使用!
一个封装好的dialog工具类,减少重复的代码,简洁又方便使用!
|
XML Android开发 数据格式
kotlin中书写点击事件的几种方式
kotlin中书写点击事件的几种方式
单Acitivty+Fragment的优化写法。
一直以来,在写单Acitivty+Fragment的时候,标题栏的布局虽然 include 同一个,但是每次代码里都要对标题栏进行setText() ,而且每次都要写一遍标题栏的点击事件,而在以前的学习使用中,都没有考虑过去对它们进行一个优化。
73 0
|
存储 缓存 Kotlin
策略模式应用 | 每当为 RecyclerView 新增类型时就很抓狂
App 界面愈发复杂,元素越来越多,将不同类型的元素组织成 RecyclerView 就可以超越屏幕的限制。常用的RecyclerView在使用时有诸多痛点。这一篇尝试让扩展列表数据类型变得简单。
180 0
|
数据处理 开发工具
RecyclerView多布局写法,“我的”、“个人中心” 页面经典写法演示
RecyclerView多布局写法,“我的”、“个人中心” 页面经典写法演示
265 0
RecyclerView多布局写法,“我的”、“个人中心” 页面经典写法演示
老大爷都能看懂的RecyclerView动画原理
老大爷都能看懂的RecyclerView动画原理
老大爷都能看懂的RecyclerView动画原理
|
Java
【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )
【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )
733 0
【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )
|
JavaScript 前端开发 搜索推荐
技术文章写法浅谈
怎么样才能写好一篇技术文章?
183 0
|
Java Android开发
ViewStub用法
ViewStub用法