안녕하세요 점냥입니다:)
페이징을 구현하려고 할 때, 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");
}
}
});
반응형
'Android > Common' 카테고리의 다른 글
[Android] 면접에서 헷갈릴수 있는 Activity Lifecycle (0) | 2020.03.05 |
---|---|
[Android]Keybard Show/Hide 감지하기 (0) | 2020.02.12 |
[Android] Retrofit 기본 사용법 (0) | 2020.02.09 |
[Android] ripple Effect 커스텀하기 (0) | 2020.02.09 |
[Android] Android Settings.Panel 사용해보기 (0) | 2019.12.13 |