我在我的应用程序中使用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.
我们非常感谢您的帮助。