如何从FirebaseRecyclerAdapter或Firebase参考Android中排除项目 [英] How to Exclude item from FirebaseRecyclerAdapter or Firebase Reference Android
问题描述
我正在研究Activity,以显示除我的用户外的所有其他应用程序用户,并且我将Java android与Firebase一起使用.
I'm working on Activity to show all the others app users except my user and i'm using Java android with Firebase .
但是无论如何我都找不到从DatabaseReference或FirebaseRecyclerAdapter中排除项目.
But i cant find anyway to exclude item from DatabaseReference or from FirebaseRecyclerAdapter .
我的活动看起来像这样
我的数据库如下:
此活动中的我的代码如下:
My code inside this Activity looks like below :
@Override
public void onStart() {
super.onStart();
database = FirebaseDatabase.getInstance();
myRef = database.getReference().child("users");
FirebaseRecyclerAdapter<Users,RecyclerViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, RecyclerViewHolder>(Users.class , R.layout.users_single_layout ,RecyclerViewHolder.class,myRef ) {
@Override
protected void populateViewHolder(RecyclerViewHolder viewHolder, Users model, int position) {
viewHolder.setDisolayName(model.getDisplay_name());
viewHolder.setStatus(model.getStatus());
viewHolder.setImage(model.getImager_thumb(), getContext());
frinds_relative.setVisibility(View.INVISIBLE);
final String users_id = getRef(position).getKey();
viewHolder.mview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent target = new Intent(getActivity() , user_profile.class);
target.putExtra("profile_id" , users_id) ;
startActivity(target);
}
});
}
};
users_recycler.setAdapter(firebaseRecyclerAdapter);
}
如果您能解决问题,我将不胜感激.
I will be thankful if you have the solution .
推荐答案
我曾经遇到过类似的事情,我是怎么做到的.
I faced something similar once and how i did it was..
第一件事是在users_single_layout xml文件中提供父级布局和ID. 引用视口中的父级布局; 然后通过以下方式隐藏文件的所有内容:
First thing is to give the parent layout and id in the users_single_layout xml file; Reference the parent layout in the viewholder; Then hide all the content of file by :
android:visibility="gone"
完成后,在FirebaseRecyclerAdapter中设置if语句: 检查以下代码:
When That is done, You set and if statement in your FirebaseRecyclerAdapter: Check the Code Below:
users_recycler = new FirebaseRecyclerAdapter<Users,RecyclerViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, RecyclerViewHolder>(Users.class , R.layout.users_single_layout ,RecyclerViewHolder.class,myRef ) {
@Override
protected void populateViewHolder(RecyclerViewHolder viewHolder, Users model, int position) {
if (adapter.getRef(position).getKey.equals(currentUid){
viewholder.thelayout.setVisibility(View.GONE);
} else {
viewHolder.setDisolayName(model.getDisplay_name());
viewHolder.setStatus(model.getStatus());
viewHolder.setImage(model.getImager_thumb(), getContext());
frinds_relative.setVisibility(View.INVISIBLE);
final String users_id = getRef(position).getKey();
viewHolder.mview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent target = new Intent(getActivity() , user_profile.class);
target.putExtra("profile_id" , users_id) ;
startActivity(target);
}
});
}
}
};
users_recycler.setAdapter(firebaseRecyclerAdapter);
这篇关于如何从FirebaseRecyclerAdapter或Firebase参考Android中排除项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!