#android #android-recyclerview #android-pagedlistview
#Android #android-recyclerview #android-просмотр списка страниц #android-pagedlistview
Вопрос:
Я пытаюсь использовать 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
объекте)
Ответ №1:
Я нашел решение. Моя ошибка заключалась в переопределении getItemCount() в моем классе адаптера и получении размера списка в параметре, который не использовался.