BRVAH(BaseRecyclerViewAdapterHelper)详解

一.什么是BaseRecyclerViewAdapterHelper

GitHub地址:https://github.com/CymChad/BaseRecyclerViewAdapterHelper

官方网站:http://www.recyclerview.org/

BRVAH是一个强大的RecyclerAdapter框架,它能节约开发者大量的开发时间,集成了大部分列表常用需求解决方案。

二.框架引用

先在 build.gradle(Project:XXXX) 的 repositories 添加:

maven { url "https://jitpack.io" }

然后在 build.gradle(Module:app) 的 dependencies 添加:

implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.42'

三.代码使用

3.1adapter

使用

首先需要继承BaseQuickAdapter,然后BaseQuickAdapter<Status, BaseViewHolder>第一个泛型Status是数据实体类型,第二个BaseViewHolder是ViewHolder其目的是为了支持扩展ViewHolder。

赋值

/*给某个控件赋值*/
helper.setText(R.id.inspectionitem_tv, itemname);
/*获取某个控件*/
TextView textView = helper.getView(R.id.inspectionitem_tv);

常用方法

  • viewHolder.getLayoutPosition() 获取当前item的position

3.2添加点击事件

3.2.1Item的点击事件

3.2.2Item的长按事件

3.2.3子控件点击事件

首先在adapter的convert方法里面通过viewHolder.addOnClickListener绑定一下的控件id

然后监听

Item子控件的长按事件
adapter中绑定方法将addOnClickListener改成addOnLongClickListener.
设置点击事件方法setOnItemChildClickListener改成setOnItemChildLongClickListener

注意:设置子控件的事件,如果不在adapter中绑定,点击事件无法生效,因为无法找到你需要设置的控件。

3.2.4adapter中监听

holder.itemView.setOnLongClickListener();

3.3添加列表加载动画

开启动画(默认为渐显效果)
adapter.openLoadAnimation();
默认提供5种方法(渐显、缩放、从下到上,从左到右、从右到左)

3.4添加头部、尾部

3.5设置空布局

// 没有数据的时候默认显示该布局
mQuickAdapter.setEmptyView(getView());

PS:如果用网格布局的话,设置空布局就不能给全屏,可以使用瀑布流布局。

3.6adapter获取当前位置

通过item对象获取位置

//获取当前item的位置
int pos = holder.getAdapterPosition();
// 先获取到当前 item 的父 positon
int positionAtAll = getParentPositionInAll(pos);

3.7获取父类对象

3.8多级adapter关键方法

safetyAppearItem.hasSubItem()//是否有子项
safetyAppearItem.isExpanded()//是否扩展
collapse(item所在位置);//收缩子项
expand(item所在位置);//扩展子项
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值