[Android] 페이징 처리 - addOnScrollListener

원준·2023년 7월 20일

Android Studio

목록 보기
29/40

이게 뭔데?

  • RecyclerView를 사용할때 마지막 페이지를 찾아서 체크하는 함수.

사용하고 싶다.

  • 기본 사용 방법
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(); //arrayList값의 크기를 가져온다.

        if(lastPosition + 1 == totalCount){ //스크롤을 데이터 맨 끝까지 한 상태이므로
                    //네트워크를 통해서 데이터를 추가로 받아오면 된다.
        }

    }
});
profile
공부해보자

0개의 댓글