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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容