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'
首先需要继承BaseQuickAdapter
,然后BaseQuickAdapter
第一个泛型Status
是数据实体类型,第二个BaseViewHolder
是ViewHolder其目的是为了支持扩展ViewHolder。
/*给某个控件赋值*/
helper.setText(R.id.inspectionitem_tv, itemname);
/*获取某个控件*/
TextView textView = helper.getView(R.id.inspectionitem_tv);
Item的点击事件
Item的长按事件
子控件点击事件
首先在adapter的convert方法里面通过viewHolder.addOnClickListener
绑定一下的控件id
然后监听
Item子控件的长按事件
adapter中绑定方法将addOnClickListener
改成addOnLongClickListener
.
设置点击事件方法setOnItemChildClickListener
改成setOnItemChildLongClickListener
注意:设置子控件的事件,如果不在adapter中绑定,点击事件无法生效,因为无法找到你需要设置的控件。
开启动画(默认为渐显效果)adapter.openLoadAnimation();
默认提供5种方法(渐显、缩放、从下到上,从左到右、从右到左)
// 没有数据的时候默认显示该布局
mQuickAdapter.setEmptyView(getView());
PS:如果用网格布局的话,设置空布局就不能给全屏,可以使用瀑布流布局。
//获取当前item的位置
int pos = holder.getAdapterPosition();
// 先获取到当前 item 的父 positon
int positionAtAll = getParentPositionInAll(pos);
safetyAppearItem.hasSubItem()//是否有子项
safetyAppearItem.isExpanded()//是否扩展
collapse(item所在位置);//收缩子项
expand(item所在位置);//扩展子项