BaseRecyclerViewAdapterHelper首先这是一个非常好用的适配器,那么具体怎么好用,又有那些特点下面来讲讲我的了解
1.省掉了创建ViewHolder的步骤
2.省掉了数据判空的步骤
3.支持上拉加载下拉刷新功能
4.支持添加头布局、尾布局
5.item点击事件
6.以及添加分组功能(具体怎么实现还有待完善,个人觉得应该可以用来实现类似淘宝的筛选功能)
总的来说就是简单、实用、简洁,比以往的自己写的适配器少了不少代码,减少了代码量查阅起来也方便。
具体使用方法
一、添加依赖
1.首先在你项目的 build.gradle 中的 allprojects/repositories 添加
maven { url "https://jitpack.io" }
2.之后再 app 目录下添加依赖
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
二、创建适配器
适配器预览(这里展示的是部分代码具体功能下面分开写)
public class HomeAdapter extends BaseQuickAdapter<HomeBean.DataBean.DatasBean, BaseViewHolder> {
private Context mContext;
public HomeAdapter(Context context, @Nullable List<HomeBean.DataBean.DatasBean> data) {
super(R.layout.item_home_recycleview, data);
mContext = context;
}
@Override
protected void convert(BaseViewHolder helper, HomeBean.DataBean.DatasBean item) {
helper.setText(R.id.itemTitle, item.getTitle())
.setText(R.id.itemName, item.getAuthor())
.setText(R.id.itemClassification, item.getSuperChapterName())
// 简单标注一下,第一个参数为item上控件ID,
// 第二个参数为实体类中的数据
.setText(R.id.itemTime, item.getNiceDate());
}
}
三、Activity中的代码
绑定适配器
// 与正常绑定适配器一样没什么差别
mHomeRecycleView.setLayoutManager(new LinearLayoutManager(getContext()));
mAdapter = new HomeAdapter(getContext(), null);
mAdapter.setNewData(data);
mHomeRecycleView.setAdapter(mAdapter);
四、实现具体功能的代码
1.上拉加载下拉刷新功能
mAdapter.setOnLoadMoreListener(this, mHomeRecycleView);
// 然后实现其方法,在方法中实现逻辑
if (data.size() != 0) {
mAdapter.addData(data);
// 开始刷新
mAdapter.loadMoreComplete();
} else {
mAdapter.loadMoreEnd();
}
2.添加头尾布局
// 添加头布局,参数为自己定义的View布局
mAdapter.addHeaderView(getView());
// 添加尾布局,参数相同
mAdapter.addFooterView(getView());
3.item 点击事件
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
// 在这之中写具体代码
}
});
网友评论