PagedListAdapter在RecyclerView中不返回任何项目

时间:2019-04-08 10:16:09

标签: android android-recyclerview android-pagedlistview

我正在尝试将PagedListAdapter用于自定义RecyclerViewlink here)。

在我的ViewModel中,当观察用Observer(adapter::submitList)检索到的数据时,没有显示任何项目。

调试此行时:

productViewModel.allProducts.observe(this, Observer(adapter::submitList))

我看到一个TiledPagedList对象有我的物品/见图片-> Debugging Picture

在我的存储库类中:

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 个答案:

答案 0 :(得分:0)

我找到了解决方案。我的错误是覆盖适配器类中的getItemCount()并获取未使用的参数中列表的大小。