【发布时间】:2017-06-28 01:31:36
【问题描述】:
为了简化我的问题:我有一个 Firebase 数据库,它有一个“企业”节点,而企业节点的子节点具有 ID 和有关该特定企业的相应数据。我不想在我的 firebase Recycler View 中显示所有业务,只显示某些业务。对于我想在任何时候显示的那些,我有一个 ID 列表。
...
List<String> businessList = ("00002", "00004", "00021");
...
private void setUpFirebaseAdapter() {
mFirebaseAdapter = new FirebaseRecyclerAdapter<User, FirebaseBusinessViewHolder>
(User.class, R.layout.business_list_item, FirebaseBusinessViewHolder.class, mBusinessReference{
@Override
protected void populateViewHolder(FirebaseBusinessViewHolder viewHolder, User model, int position){
for (String businessID : businessList) {
if (businessID.equals(model.getId())){
//show this item
viewHolder.bindBusiness(model, true);
}
if(!businessID.equals(model.getId())){
//don't show this item
}
}
}
};
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setAdapter(mFirebaseAdapter);
}
如果我运行此代码,它只会显示来自 businessList 的数据,但它也会为存储在数据库中的 ID 不在 businessList 上的其他项目留下一个空白空间,因为它创建了空列表项,但不绑定任何数据。我显然不希望间隙/空白空间显示不需要的项目。如何调整我的列表适配器/视图支架以仅显示所需的项目?
【问题讨论】:
标签: android firebase firebase-realtime-database android-recyclerview firebaseui