I am trying to use PagedListAdapter
to a custom RecyclerView
, (link here).
In my ViewModel
, when observing the data retrieved with Observer(adapter::submitList)
no item is shown.
When debugging this line:
productViewModel.allProducts.observe(this, Observer(adapter::submitList))
I saw that a TiledPagedList
object has my items / see picture ->
Debugging Picture
In my repository class:
fun getProductsFromDb(): LiveData<PagedList<Product>> {
return LivePagedListBuilder(productDao.getProducts(), 20).build()
}
In my ViewModel
class:
allProducts = repository.getProducts()
In my Activity
class:
adapter = CardStackAdapter()
productViewModel = ViewModelProviders.of(this).get(ProductViewModel::class.java)
productViewModel.allProducts.observe(this, Observer(adapter::submitList))
productViewModel.allProducts.value?.dataSource?.invalidate()
//productViewModel .allProducts.observe(this, PagedList(adapter::submitList))
How can I apply correctly the items retrieved from my db to my recyclerView
? (Apply what I see on TiledPagedList
object)
I found the solution. My error was to override getItemCount() in my adapter class and to get the size of a list in parameter that was not used.