手把手教你实现RecyclerView的下拉刷新和上拉加载更多
个人原创,转载请注明出处http://blog.csdn.net/u012402124/article/details/78210639
2018年10月25日更新
让大家花费时间看文章却没有解决需求,随着bug的增多内心的愧疚感逐渐增强,但几个月前的代码确实看不下去,bug也不想解决了,于是直接重写了。
实现思路未变,依旧是监听滑动,根据位置做出处理,但实现方式做了修改,相比于之前的方式使用起来更加简单。
暂时只支持LinearLayout,不支持GridLayoutManager和StaggeredLayoutManager
使用方式
-
布局文件,如下,不多说:
<com.oy.wrapperrecyclerview.widget.xRecyclerView
android:id="@+id/gank_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never"/> Adapter不能再继承
RecyclerView.Adapter
,需要继承自xRecyclerView.xAdapter
,同时实现三个方法,getxItemCount
、onCreatexViewHolder
和onBindxViewHolder
,按照实现RecyclerView.Adapter
中的getItemCount
、onCreateViewHolder
和onBindViewHolder
的方式即可。将2中
xRecyclerView.xAdapter
的实现类的实例通过xRecyclerView.setAdapter
设置进去。通过
xRecyclerView.setListener
监听下拉刷新和上拉加载动作。下拉刷新或上拉加载完成后需要调用
xRecyclerView.stopRefreshing
或xRecyclerView.stopLoadingMore
来更新显示状态。
一共这5步,简化了不少。因为还不支持GridLayoutManager
所以把原来看图片的网格布局改成线性的了,不过话说回来看大图里的妹子真不错