封装的RecyclerView BaseRecyclerViewAdapterHelper

本文介绍如何使用BaseRecyclerViewAdapterHelper实现分组效果。通过继承SectionEntity创建自定义Bean,并在Adapter中实现普通条目与头部条目的数据绑定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BaseRecyclerViewAdapterHelper使用

1. 添加分组

1.首先bean对象需要基础自SectionEntity

public class AppInfo extends SectionEntity {

    private String name;   //名称
    private String packageName;  //包名
    private Drawable icon;    //图标
    private boolean isSdcard; //手机应用,用户装的
    private boolean isSystem; //是否为系统应用

    /**
     * 构造方法
     * @param isHeader   指定这一项是否是header
     * @param header     
     */
    public AppInfo(boolean isHeader, String header) {
        super(isHeader, header);
    }

    public AppInfo(boolean isHeader, String header, String name, String packageName, Drawable
            icon, boolean isSdcard, boolean isSystem) {
        super(isHeader, header);
        this.name = name;
        this.packageName = packageName;
        this.icon = icon;
        this.isSdcard = isSdcard;
        this.isSystem = isSystem;
    }
}
复制代码

2.然后写适配器时这样写

/**
 * app信息的适配器    extends第三方的Adapter
 */
public class MyAppInfoAdapter extends BaseSectionQuickAdapter<AppInfo, BaseViewHolder> {
    //构造方法   参数:普通条目的布局,header的布局,集合数据
    public MyAppInfoAdapter(int layoutResId, int sectionHeadResId, List<AppInfo> data) {
        super(layoutResId, sectionHeadResId, data);
    }

    //convert方法里面加载item数据
    @Override
    protected void convert(BaseViewHolder viewHolder, AppInfo item) {
        viewHolder.setImageDrawable(R.id.iv_app_icon, item.getIcon())
                .setText(R.id.tv_app_name, item.getName());
        if (item.isSdcard()) {
            viewHolder.setText(R.id.tv_app_path, "SD卡应用");
        } else {
            viewHolder.setText(R.id.tv_app_path, "手机应用");
        }
    }

    //在convertHead方法里面加载head数据
    @Override
    protected void convertHead(BaseViewHolder helper, AppInfo item) {
        //将头布局里面的tv_app_group_name设置文字为item.header
        helper.setText(R.id.tv_app_group_name, item.header);
    }
}
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值