我想查询Firebase并使用查询的DataSnapshot中的条件数据填充回收器适配器。我试图在正确记录我想要的数据的if语句中放入填充函数,但是回收器视图只是返回我在搜索的节点(我开始的主要查询)中的所有内容。关于如何填充适用于“if”语句的项目的任何建议?谢谢!Android:如何在Firebase RecyclerView中使用条件DataSnapshot值?
rootRef = FirebaseDatabase.getInstance().getReference();
//below is the node i query
mAlbumQuery = rootRef.child(Constants.FIREBASE_CHILD_ALBUMS).orderByChild("genres");
mAlbumQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot reco : dataSnapshot.getChildren()) {
if (reco.getValue().toString().contains(mRecommendation.getGenre())) {
//below returns the items i want
Log.d("is this correct", reco.getValue().toString());
//below returns everything in the original query
//how to populate only items that match the above?
mAdapter = new FirebaseRecyclerAdapter<Album, AlbumsViewHolder>(
Album.class,
R.layout.album_cards,
AlbumsViewHolder.class,
mAlbumQuery) {
@Override
public void populateViewHolder(AlbumsViewHolder holder, Album album, int position) {
holder.bindView(album.getImage(), album.getTitle());
if (!album.getGenres().contains(mRecommendation.getGenre())) {
//added as a hypothetical... should i have something in here?
}
}
};
mAlbumsRecycler.setAdapter(mAdapter);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return view;
}
我如何在Recycler视图中使用它? – DarkKnightSDS