[Android / Kotlin] RecyclerView 스크롤 끝 감지하기

Subeen·2024년 1월 30일
1

Android

목록 보기
53/73

스크롤 끝 감지

        /**
         * 마지막 항목을 확인하기 위해 RecyclerView에 addOnScrollListener를 통해 OnScrollListener를 재정의 한다.
         * canScrollVertically은 수직 리스트에 사용하여 1이면 하단, -1이면 상단을 확인한다.
         */
        binding.recyclerSearch.addOnScrollListener(object : RecyclerView.OnScrollListener() {
            override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
                super.onScrollStateChanged(recyclerView, newState)
                if (!binding.recyclerSearch.canScrollVertically(1)
                    && newState == RecyclerView.SCROLL_STATE_IDLE
                ) {
                    /**
                     * newState가 SCROLL_STATE_IDLE를 확인하여 중복 발생을 방지한다.
                     */
                    viewModel.plusPageCount()
                }
            }
        })

최상단으로 이동

    fun smoothScrollToTop() {
        binding.recyclerSearch.smoothScrollToPosition(0) // 최상단 이동
    }
profile
개발 공부 기록 🌱

0개의 댓글