Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class PaginationScrollListener extends RecyclerView.OnScrollListener {
- LinearLayoutManager layoutManager;
- //스크롤 사이즈 설정
- private static final int PAGE_SIZE = 10;
- //LinearLayout Support only
- PaginationScrollListener(LinearLayoutManager layoutManager) {
- this.layoutManager = layoutManager;
- }
- @Override
- public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
- super.onScrolled(recyclerView, dx, dy);
- int visibleItemCount = layoutManager.getChildCount();
- int totalItemCount = layoutManager.getItemCount();
- int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
- if (!isLoading() && !isLastPage()) {
- if ((visibleItemCount + firstVisibleItemPosition) >= totalItemCount
- && firstVisibleItemPosition >= 0
- && totalItemCount >= PAGE_SIZE) {
- loadMoreItems();
- }
- }
- }
- protected abstract void loadMoreItems();
- public abstract boolean isLastPage();
- public abstract boolean isLoading();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement