/**
* 마지막 항목을 확인하기 위해 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) // 최상단 이동
}