Paging3 empty list check

나고수·2022년 3월 13일
0

paging3 에서 빈 목록을 체크 하는 법
뷰를 짜다보면, paging adpater에 불러와진 데이터가 없을 경우 '불러올 데이터가 없습니다' 와 같은 화면을 보여줘야 할 때가 있습니다.
paging 에서는 adapter.getItemCount 를 할 시 항상 0이 나오기 때문에, 일반적인 recyclerAdpater과는 다른 방법으로 empty list인지 아닌지를 체크해야합니다.

공식문서

//SearchRepositoriesActivity.initAdapter()에서 addLoadStateListener를 호출합니다. 
//CombinedLoadStates의 refresh 상태가 NotLoading 및 adapter.itemCount == 0인 경우 목록이 비어 있습니다. 
 adapter.addLoadStateListener { loadState ->
        val isListEmpty = loadState.refresh is LoadState.NotLoading && adapter.itemCount == 0
        //로드된 데이터가 empty일때 하고 싶은 동작
  }

참고

adapter.addLoadStateListener { loadState ->
            if (loadState.source.refresh is LoadState.NotLoading && loadState.append.endOfPaginationReached && adapter.itemCount < 1) {
                       //로드된 데이터가 empty일때 하고 싶은 동작
            }
        }
profile
되고싶다

0개의 댓글