在最近的项目中用到了RecyclerView,刚开始用感觉真心不好用,header和footer必须自己去适配器里面加。现在把RecyclerView增加头部和上拉加载的方法
记录下来,供有需要的朋友参考,有不对的地方请多指教。
添加头部和底部是用的别人写好的方法:
http://blog.csdn.net/jeffleo/article/details/51586770?locationNum=4&fps=1
通过这个链接就能增加RecyclerView的头部和底部,这儿就不写了。
上拉刷新可以用系统自带的SwipeRefreshLayout,也可以用三方的,这儿就不多说。
说下上拉加载的问题,我们可以自己写 一个上拉加载的布局,上拉加载可以直接用RecyclerView的setOnScrollListener方法进行RecyclerView的滑动监听。
我们可以把适配器中RecyclerView的底部布局写一个progressBar和一个TextView,作为加载时的效果显示。
然后在Activity中进行RecyclerView的滑动监听:
recycleView.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); LinearLayoutManager layoutManager= (LinearLayoutManager) recyclerView.getLayoutManager(); int lastVisibleItem=layoutManager.findLastVisibleItemPosition(); int visibleItem=layoutManager.getChildCount(); int totalItem=layoutManager.getItemCount(); int state=recyclerView.getScrollState(); if (visibleItem>0 && lastVisibleItem==totalItem-1 && state==recycleView.SCROLL_STATE_IDLE){ loadMore(); } } });
这样就可以实现RecyclerView的上拉加载了。