Android/Common
[Android] RecyclerView의 최상단 최하단 감지하기
점냥
2020. 2. 10. 16:19
반응형
안녕하세요 점냥입니다:)
페이징을 구현하려고 할 때, Jetpack Paging 라이브러리를 쓰지 않는 다면 우리는 리스트의 끝을 도달하는 시점을 확인해야 합니다. recyclerview에서는 함수로 쉽게 제공해주고 있습니다!
canScrollVertically(int direction) // 수직 상단 하단 감지
canScrollHorizontally(int direction) //수평 상단 하단 감지
수직 기준 direction 값이 1이면 하단 방향 , -1이면 상단 방향
수평 기준 direction 값이 1이면 오른쪽 방향 , -1이면 왼쪽 방향
위 조건을 사용하여 아래처럼 구현할 수 있습니다.
myList.setOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
if (!myList.canScrollVertically(-1)) {
Log.i(TAG, "Top of list");
} else if (!myList.canScrollVertically(1)) {
Log.i(TAG, "End of list");
} else {
Log.i(TAG, "idle");
}
}
});
반응형