即使Room数据库中的数据不为null,回收者视图getItemCount()也会返回0

时间:2020-04-10 14:07:21

标签: android-room android-recyclerview

我在我的应用程序中使用Room Database和recycler视图。我需要获取适配器中的项目总数。但是,当我从我的活动中调用adapter.getItemCount()方法时,即使列表已填充,我可以在屏幕上查看项目。 这是我的回收站视图适配器中的方法:

 private List<Books> mBooks;
    @Override
    public int getItemCount() {
        if (mBooks != null) {
          return mBooks.size();
        }
        else {return 0;}
    }

在我的活动中:

booksRecyclerAdapter adapter=new booksRecyclerAdapter(this);
  recyclerView.setLayoutManager(new LinearLayoutManager(this));
                            recyclerView.setAdapter(adapter);

                            mBooksViewModel.getBooks().observe(this, new Observer<List<Books>>() {
                                @Override
                                public void onChanged(@Nullable final List<Books> entries) {
                                                      adapter.setBooks(entries);
                                }
                            });

int numberOfBooks=adapter.getItemCount();// this always retund 0 even if data is not null.

我们非常感谢您的帮助。

0 个答案:

没有答案