如何从FirebaseRecyclerAdapter或Firebase参考Android中排除项目 [英] How to Exclude item from FirebaseRecyclerAdapter or Firebase Reference Android

查看:88
本文介绍了如何从FirebaseRecyclerAdapter或Firebase参考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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆