如何在特定条件下从回收站视图中隐藏项目? [英] How to hide an item from Recycler View on a particular condition?

查看:39
本文介绍了如何在特定条件下从回收站视图中隐藏项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Firebase Recycler Adapter(Firebase UI 库)来填充 Recycler View.我想在条件下隐藏一个项目(行).我有一个包含回收器视图的 LinearLayout.

I am using Firebase Recycler Adapter (Firebase UI Library) to populate Recycler View. I want to hide an item(row) on a condition. I have a LinearLayout containing a recycler view.

我在回收器视图适配器的 populateViewHolder() 方法中将线性布局可见性设置为 Gone.

I set linear layout visibility to Gone in populateViewHolder() method of recycler view adapter.

@Override
protected void populateViewHolder(UsersViewHolder viewHolder, User user, int position) {

    if (user.getUserEmail().equals(Utils.decodeEmail(userEmail))) {
        viewHolder.llMain.setVisibility(View.GONE);
        return;
    }

    viewHolder.tvUserEmail.setText(user.getUserEmail());
}

它隐藏了 LinearLayout,但该行保留在那里并留有空白空间.

It hides the LinearLayout but the row remains there with empty space.

是否有我应该重写的方法来克服这个问题,或者有什么方法可以达到这个结果?

Is there any method I should override to overcome this or is there any way to achieve the result?

推荐答案

您应该对 UsersViewholder 布局 xml 隐藏所有视图或父视图.您应该隐藏整个视图或每个视图

You should hide all views or parent from UsersViewholder layout xml. You should hide entire viewholder or each view

整个观看者:

itemView.setVisibility(View.GONE);

或每个元素:

view.setVisibility(View.GONE);

但是不要忘记设置它们VISIBLE 否则,你最终会在回收中得到一些奇怪的东西

But don't forget to set them VISIBLE otherwise, you will end up with some strange things from recycling

这篇关于如何在特定条件下从回收站视图中隐藏项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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