2017-10-06 150 views
0

Android Studio 2.3.3。RecyclerView的延遲加載效果

我有顯示列表項的片段。我使用組件android.support.v7.widget.RecyclerView來顯示列表。好。它工作正常。

現在我需要做的項目的延遲加載(垂直滾動):

  1. 到達列表
  2. 到達列表的底部

這裏的頂部例如:

Example of lazy loading

是否有可能通過RecyclerView或我需要使用另一個組件或庫?

+1

使用'RecyclerView'和谷歌的[分頁](https://developer.android.com/topic/libraries/architecture/paging.html)庫 – pskink

+1

試試這個教程的分頁https://github.com/codepath/ android_guides /維基/無盡的滾動與 - AdapterViews-和RecyclerView –

回答

1

這很簡單:

recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { 
     @Override 
     public void onScrollStateChanged(RecyclerView recyclerView, int newState) { 
      super.onScrollStateChanged(recyclerView, newState); 
      if (!recyclerView.canScrollVertically(1) && isMoreDataAvailable && !isLoading) { 
       isLoading = true; 
       pb_loading.setVisibility(View.VISIBLE); 
       PrepareData(ppage,pcount); 
      } 
     } 
    }); 

isLoading是在控制用戶不要在加載時發送許多其他請求和isMoreDataAvailable是爲了避免更多的請求時,有沒有更多的數據。