1.使用:将项目library导入到应用中。方法,参看前面的博客。项目地址:
2.使用,有2中加载方式,一种是自动加载,一种是手动加载,本文以自动加载为例进行说明
<com.brooks.loadmorerecyclerview.LoadMoreRecyclerView
android:id="@+id/rv_news"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</com.brooks.loadmorerecyclerview.LoadMoreRecyclerView>
loadMore回调,在加载更多回调中,一定要通知加载完成,这样才能让加载的图标消失
rvNews.setAutoLoadMoreEnable(true);//自动加载模式,还有手动点击加载模式
rvNews.setLoadMoreListener(new LoadMoreRecyclerView.LoadMoreListener() {
@Override
public void onLoadMore() {
// currentPage++;
// mPresenter.start(currentPage,type);
mDataList.addAll(entity.getNewslist());
rvNews.notifyMoreFinish(true);//通知加载完成
mAdapter.notifyDataSetChanged();
}
});
adapter则不用像之前的loadmorerecyclerview 进行条目类别判断,因为loadMore的view是写死在loadmorerecyclerview 中的。所以,仍然使用之前view的adapter
,这里稍加改动即可,修改内容如下
onCreateViewHolder中改为
ViewHolder viewHolder = ViewHolder.get(mContext, null, parent, mLayoutId, -1);
setListener(parent, viewHolder, viewType);
return viewHolder;
然后去掉getItemViewType方法。
最后改掉
@Override
public int getItemCount(){
return mDate.isEmpty()?0: mDate.size();
}
或者按照定义普通的adapter即可。
其他一些方法,是否继续加载:recyclerView.setAutoLoadMoreEnable