Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. public abstract class PaginationScrollListener extends RecyclerView.OnScrollListener {
  2.  
  3. LinearLayoutManager layoutManager;
  4.  
  5. //스크롤 사이즈 설정
  6. private static final int PAGE_SIZE = 10;
  7.  
  8. //LinearLayout Support only
  9. PaginationScrollListener(LinearLayoutManager layoutManager) {
  10. this.layoutManager = layoutManager;
  11. }
  12.  
  13. @Override
  14. public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
  15. super.onScrolled(recyclerView, dx, dy);
  16.  
  17. int visibleItemCount = layoutManager.getChildCount();
  18. int totalItemCount = layoutManager.getItemCount();
  19. int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
  20.  
  21. if (!isLoading() && !isLastPage()) {
  22. if ((visibleItemCount + firstVisibleItemPosition) >= totalItemCount
  23. && firstVisibleItemPosition >= 0
  24. && totalItemCount >= PAGE_SIZE) {
  25. loadMoreItems();
  26. }
  27. }
  28. }
  29.  
  30. protected abstract void loadMoreItems();
  31.  
  32. public abstract boolean isLastPage();
  33.  
  34. public abstract boolean isLoading();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement