군침이 싹 도는 코딩
리사이클러뷰 페이징 처리 본문
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()).findLastVisibleItemPosition();
int totalCount = recyclerView.getAdapter().getItemCount();
// 스크롤을 데이터 맨 끝까지 한 상태.
if ( lastPosition+1 == totalCount ) {
// 네트워크 통해서 데이터를 받아오고 화면에 표시
addNetworkData();
}
}
});
# 리사이클러뷰의 페이징 처리를 위해서 addOnScrollListener ( new RecyclerView.OnScrollListener () 함수를 쓰면
두개의 함수를 오버라이딩할 수 있다
이 두개의 함수중에 onScrolled를 오버라이딩해서 페이징 처리를 한다
페이징 처리를 할때 맨 마지막 인덱스와 총 인덱스를 알아야된다
마지막 인덱스는 int lastPosition = ((LinearLayoutManager) recyclerView.getLayoutManager()).findLastVisibleItemPosition();
총 인덱스는
int totalCount = recyclerView.getAdapter().getItemCount();
이 두개가 같으면 페이징 처리를 하면 된다
'Android' 카테고리의 다른 글
retrofit2 라이브러리를 이용한 POST 형식 처리 (0) | 2023.02.09 |
---|---|
retrofit2 라이브러리 사용을 위한 셋팅 (0) | 2023.02.09 |
안드로이드 스튜디오 버튼 클릭 활용법 ( Intent ACTION_VIEW Uri.parse ) (0) | 2023.02.07 |
Glide 라이브러리 사용법 (0) | 2023.02.07 |
Floating Action Button 사용법 (0) | 2023.02.06 |