我正在使用FirebaseRecyclerAdapter,我正在尝试仅为关注用户显示帖子,因此我无法获得正确的查询,因为我需要的查询是在图片中描述的:
我目前正在使用此方法:
mDatabase= FirebaseDatabase.getInstance().getReference().child("Posts");
FirebaseRecyclerAdapter<Getting_Posts, PostViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Getting_Posts, PostViewHolder>(
Getting_Posts.class, R.layout.post_card_design, PostViewHolder.class, mDatabase) {
@Override
protected void populateViewHolder(final PostViewHolder viewHolder, final Getting_Posts model, int position) {
final String Post_Key = getRef(position).getKey();
}
};mPostList.setAdapter(firebaseRecyclerAdapter);
};
此方法显示所有帖子,但我需要显示以下用户的帖子
所以我需要我必须使用的查询,所以请任何帮助。
答案 0 :(得分:2)
试试这个:
mDatabase= FirebaseDatabase.getInstance().getReference().child("Posts").orderByChild("UID").equalTo("UID TO SEARCH FOR");
FirebaseRecyclerAdapter<Getting_Posts, PostViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Getting_Posts, PostViewHolder>(
Getting_Posts.class, R.layout.post_card_design, PostViewHolder.class, mDatabase)
答案 1 :(得分:0)
我还开发了一个与Instagram类似的应用程序,并使用了您正在寻找的条件, 所以首先从firebase获取你的所有以下内容到一个ArrayList.And而不是让条件获取帖子
if(followeinglist.contains(UID FROM POST)){mArrayListPost.add(YOUR POST);}
并查找以下内容
DatabaseReference userPostRef = mDatabase.child(KeyTAG.TAG_FOLLOWINGS).child(YOUR USER ID).orderByChild("userid");
if (userPostRef == null) {
} else {
userPostRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Iterable<DataSnapshot> children = dataSnapshot.getChildren();
for (DataSnapshot child : children) {
followeinglist.add(child.getKey());
}
mAdapter1.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}