Pagedlistadapter не возвращает элемент в RecyclerView

#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() в моем классе адаптера и получении размера списка в параметре, который не использовался.