반응형
안드로이드의 Paging은 많은 데이터를 한 번에 가져오지 않고 일정한 크기만큼 나눠서 가져오는 것이다.
이번에는 paging 라이브러리를 사용하는 것이 아니라, 많지 않은 데이터를 가져올 때 간단하게 페이징 처리하는 기능을 구현하는 것을 기록해보려 한다.
예전에는 웹페이지 처럼 다음 페이지 번호를 눌러서 넘어가도록 구현을 해본 적이 있었는데, 그 방법과 유사하지만 간단하다.
리사이클러뷰 어댑터나 레트로핏 데이터 가져오는 건 건너뛰고
핵심인 스크롤을 내려서 최하단에 내려갔을 때 이를 감지하고 원하는 동작을 할 수 있도록 하면 된다.
binding.searchRecyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
if (!binding.searchRecyclerView.canScrollVertically(1)) { //최하단에 오면`
//원하는 동작
}
}
})
1을 놓으면 최하단을 의미하고 -1은 최상단을 의미한다.
여기서 다음 데이터를 가져오도록 하는 것은 따로 작성을 해야 한다.
최초 데이터를 가져오고 스크롤이 최하단에 닿았을 때 다음 데이터를 가져오도록 호출해서 사용했다.
728x90
반응형
'안드로이드 앱 개발 공부 > 자꾸 까먹어서 적어두는 구현방법' 카테고리의 다른 글
[Android] App widget 만들기 _ configureActivity + recyclerview (0) | 2023.04.27 |
---|---|
[Android] Api키 숨기기 안될 때 (1) | 2023.04.24 |
[Android] 코틀린Kotlin 현재 날짜 가져오기 (0) | 2023.04.03 |
[Android] kotlin 뷰바인딩 ViewBinding (0) | 2023.04.03 |
[android] avd 애뮬레이터 작동 안 할 때 (0) | 2023.03.06 |
댓글