RecyclerView上拉刷新

自己写了一个简单的上拉刷新,下面是基本使用。

  1. 布局

     <android.support.v4.widget.SwipeRefreshLayout
         android:id="@+id/swipe_refresh"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
         <!--is_range_changed 参数为使用局部刷新 建议item中有图片的使用该参数-->
         <ip.cynic.pullrecycler.PullRecyclerView
             app:is_range_changed="true"
             android:id="@+id/recycler_view"
             android:layout_width="match_parent"
             android:layout_height="match_parent"/>
    
     </android.support.v4.widget.SwipeRefreshLayout>
    
  2. adapter 继承 PullRefreshAdapter,瀑布流继承 StaggeredGridAdapter。 PullRefreshAdapter 已实现item点击事件实现 PullOnItemClickListener 接口即可。

  3. 代码设置

     mRecyclerView.setLayoutManager(mLayoutManager);
     mAdapter = new MyAdapter(datas);
     mRecyclerView.setAdapter(mAdapter);
     
     mRecyclerView.setSwipeRefreshLayout(mSwipeRefreshLayout);
     mRecyclerView.setOnPullRefreshListener(new PullRecyclerView.PullRecyclerRefreshListener() {
       @Override
       public void loadMore() {
           new Thread() {
               @Override
               public void run() {
                   SystemClock.sleep(2000);
                   refreshData();
                   runOnUiThread(new Runnable() {
                       @Override
                       public void run() {
                           mRecyclerView.onRefreshComplete(true);
                       }
                   });
               }
           }.start();
       }
     
       @Override
       public void onRefresh() {
             mRecyclerView.onRefreshComplete(false);
       }
     });
    
nomarl.gif

gank.gif

代码已上传github https://github.com/cynicgit/PullRecyclerView.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容