Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

887
Views
Check if the list is empty on the first request in Paging 3.0

I'm trying to check if the first request came with the empty object, to display a layout indicating that it has no item.

My solution was to create an exception of my own. I would like to know if there is another better way. Because I looked in the documentation and found nothing.

override suspend fun load(params: LoadParams<Int>): LoadResult<Int, Item> {
    return try {
        val position = params.key ?: FIRST_PAGE_INDEX
        val response = api.getItem(position, params.loadSize, searchKey)
        val nextKey = response?.next
        val itemList = response?.itemList ?: emptyList()

        if (itemList.isNotEmpty()) {
            LoadResult.Page(
                data = itemList,
                prevKey = null,
                nextKey = if (nextKey == LAST_PAGE_INDEX) null else nextKey
            )
        } else {
            LoadResult.Error(EmptyListException())
        }

    } catch (exception: IOException) {
        LoadResult.Error(exception)
    } catch (exception: HttpException) {
        LoadResult.Error(exception)
    }
}
over 4 years ago · Hanz Gallego
1 answers
Answer question

0

To show EmptyView you can look loadState.append which represents the load state for loading data at the end of the list and can confirm if there is no more data to load using endOfPaginationReached and after that can check itemCout of PagingDataAdapter. ` .

eg:  adapter.addLoadStateListener { loadState ->

            if ( loadState.append.endOfPaginationReached )
            {
               if ( adapter.itemCount < 1)
                    /// show empty view
               else 
                   ///  hide empty view
            }
           }
over 4 years ago · Hanz Gallego Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!