마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리사이클러뷰,멀티뷰홀더 + 페이징3

0 추천
1개의 리사이클러뷰에 여러개의 뷰홀더가 있구요 그중엔 가로로 스크롤 되는 리사이클러뷰가 들어있는 뷰홀더도 있습니다

그러고 페이징3가 적용된 상태입니다.

스크롤이 잘되다가 마지막 맨 하단 아이템에서 한번 걸리는 느낌이나고 나타나는 현상이 있는데, 어떤거때문인지 감이 안잡힙니다

어떤걸 의심해봐야될까요 맨하단 아이템은 그냥 한개짜리 아이템이고 그 바로 위는 가로로 스크롤 되는 리스트입니다
수원통학러 (3,490 포인트) 님이 2021년 12월 13일 질문

1개의 답변

0 추천
한번 걸린다는게 정상인지 비정상인지 설명만 가지고는 정확하게 분간은 안가지만요,

먼저 LoadResult.Page를 리턴할 때 nextKey부분을 제대로 처리하고 있는지 확인해 보세요. 이 부분이 다음 페이지를 올바르게 로딩하는데 중요합니다.

그리고 버튼만 하나있는 리사이클러뷰의 마지막 아이템의 경우는 데이터 소스에서 불러오지 마시고 페이징라이브러리에서 리턴된 PagingData의 insertSeparaator를 통해 아이템을 추가해 주고 있는지 확인해 보시구요. (https://developer.android.com/topic/libraries/architecture/paging/v3-transform)
spark (224,220 포인트) 님이 2021년 12월 13일 답변
spark님이 2021년 12월 14일 수정
nextKey는 정상적으로 작동합니다
insertSeparator은 안쓰고 있구용 지금 마지막에 걸리는 아이템이
중간에도 몇개씩 쓰고있는데 여기부분에선 걸리지가 않고 부드럽게 스크롤되는데 혹시 또봐야되는 부분이 있을까요?
insertSeparator를 안쓰고 데이터 소스에서 나오는 데이터와 실제 보여지는 데이터의 갯수 차이를 어떻게 처리하는지 궁금하네요. insertSeparator나 Flow안에서 아이템을 조작해야지만 중간 중간 헤더를 넣어도 문제가 없을텐테, 이 부분도 잘 처리하셨다면 딱히 문제가 아닐 수도 있습니다. 마지막에 다음 페이지를 로딩할 때 Footer 에 로딩바가 뜨도록 하는게 일반적이기 때문에 걸리는 느낌이 나는 게 맞을 듯 한데...직접 보지 않아서 정확한 상태를 모르겠네요.
...