Я пытаюсь использовать PagedListAdapter
для пользовательского RecyclerView
, (ссылка здесь).
В моем ViewModel
при просмотре данных, полученных с помощью Observer(adapter::submitList)
, элемент не отображается.
При отладке этой строки:
productViewModel.allProducts.observe(this, Observer(adapter::submitList))
Я увидел, что у объекта TiledPagedList
есть мои предметы / см. картинку ->
Отладка изображения
В моем классе репозитория:
fun getProductsFromDb(): LiveData<PagedList<Product>> {
return LivePagedListBuilder(productDao.getProducts(), 20).build()
}
В моем ViewModel
классе:
allProducts = repository.getProducts()
В моем Activity
классе:
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))
Как я могу правильно применить элементы, полученные из моей базы данных, к моему recyclerView
? (Применить то, что я вижу, к TiledPagedList
объекту)
Я нашел решение. Моя ошибка заключалась в том, чтобы переопределить getItemCount() в моем классе адаптера и получить размер списка в параметре, который не использовался.