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添加点击事件
Item的点击事件
Item的长按事件
子控件点击事件
首先在adapter的convert方法里面通过viewHolder.addOnClickListener
绑定一下的控件id
然后监听
Item子控件的长按事件
adapter中绑定方法将addOnClickListener
改成addOnLongClickListener
.
设置点击事件方法setOnItemChildClickListener
改成setOnItemChildLongClickListener
注意:设置子控件的事件,如果不在adapter中绑定,点击事件无法生效,因为无法找到你需要设置的控件。
3.3添加列表加载动画
开启动画(默认为渐显效果)adapter.openLoadAnimation();
默认提供5种方法(渐显、缩放、从下到上,从左到右、从右到左)
3.4添加头部、尾部
3.5设置空布局
// 没有数据的时候默认显示该布局
mQuickAdapter.setEmptyView(getView());
PS:如果用网格布局的话,设置空布局就不能给全屏,可以使用瀑布流布局。