【问题标题】:Hide a Value from FirebaseRecyclerAdapter View从 FirebaseRecyclerAdapter 视图中隐藏值
【发布时间】:2018-01-07 12:57:53
【问题描述】:

我正在创建一个类似于聊天应用程序的应用程序。现在我不希望当前用户当前登录设备的帐户显示在 FirebaseRecyclerAdapter 结果列表中。我有当前用户 UID。现在我只想从适配器中过滤这个当前的 UID。这怎么可能? 提前致谢。

这是我的 FirebaseRecyclerAdapter 代码

        FirebaseRecyclerAdapter<Donors, DonorsViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Donors, DonorsViewHolder>(
            Donors.class,
            R.layout.donors_single_layout,
            DonorsViewHolder.class,
            mUsersDatabase.orderByChild("search").equalTo(searchKey)
    ) {

        @Override
        protected void populateViewHolder(DonorsViewHolder viewHolder, Donors model, int position) {

            viewHolder.setName(model.getName());
            viewHolder.setLocation(model.getLocation());
            viewHolder.setImage(model.getThumb_image(), getApplicationContext());
            viewHolder.setGroup(model.getGroup());

            final String donorID = getRef(position).getKey();

            //WANTED TO HIDE THIS WAY BUT THAT DOESN"T WORK :( 
            if(donorID == mCurrentUserId){
               viewHolder.setIsRecyclable(false);
                return;
            }

        }
    };

    mDonorsList.setAdapter(firebaseRecyclerAdapter);
    firebaseRecyclerAdapter.notifyDataSetChanged();

【问题讨论】:

标签: android firebase-realtime-database filtering android-recyclerview firebaseui


【解决方案1】:

试试这个

 viewHolder.setVisibility(View.INVISIBLE);

你的代码是这样的:

if(donorID == mCurrentUserId){
               viewHolder.setIsRecyclable(false);
               viewHolder.setVisibility(View.INVISIBLE);
                return;
            }

viewHolder.setVisibility(View.GONE);

所以代码是这样的:

if(donorID == mCurrentUserId){
                   viewHolder.setIsRecyclable(false);
                   viewHolder.setVisibility(View.GONE);
                    return;
                }

this if Works 隐藏 itemview

【讨论】:

  • 抱歉... .setVisibility(View.INIVISIBLE) 不适用于 viewHolder。感谢您的宝贵时间
  • 添加时会发生什么? @WalidAlAshik
  • 试试我的第二种方法。 @WalidAlAshik
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-31
  • 2018-01-11
  • 2021-09-30
相关资源
最近更新 更多