개발/안드로이드

Android - RecyclerView 페이징처리

웅'jk 2023. 2. 8. 12:33

RecyclerView의 마지막페이지에서 다시한번 데이터를 받도록 처리하기위한 

addOnScrollListener()를 사용해봅시다.

 

 recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
            }

            @Override
            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);

                // 맨 마지막 데이터가 화면에 보이면!!!
                // 네트워크 통해서 데이터를 추가로 받아와라!!
                int lastPosition = ((LinearLayoutManager) recyclerView.getLayoutManager()).findLastCompletelyVisibleItemPosition();
                int totalCount = recyclerView.getAdapter().getItemCount();
                // 스크롤을 데이터 맨 끝까지 한 상태이면!!
                if (lastPosition + 1 == totalCount) {
                    // 네트워크 토애서 데이터를 받아오고 화면에 표시!
                    // 데이터 받아오는 함수.
                    addNetworkData();
                }

            }
        });