如何通过firebase实时数据库永久隐藏RecyclerView中的imageview

Posted

技术标签:

【中文标题】如何通过firebase实时数据库永久隐藏RecyclerView中的imageview【英文标题】:How to hide the imageview in RecyclerView permanently through firebase realtime database 【发布时间】:2021-12-21 06:50:21 【问题描述】:

这是我第一次使用 recyclerview,我需要一些帮助。我正在使用 firebase,我想从我的 recyclerview 适配器中隐藏一个项目(imageview)。

public RecyclerViewHolder(View itemView, final OnItemClickListener listener) 
          super(itemView);
          image = itemView.findViewById(R.id.listrow_img1);
          title = itemView.findViewById(R.id.listrow_tv1);
          lock = itemView.findViewById(R.id.lock_accountImg);

如果我的 firebase 实时数据库没有名为(“password”)的孩子,我想隐藏锁定图像。如果它有那个 child() ,就会显示锁定图像。提前感谢那些提供帮助的人。

【问题讨论】:

【参考方案1】:

要根据条件隐藏或显示视图,请在 ViewHolder 类中创建一个方法:

public void hideDisplayImageView(boolean passwordExist) 
    if (passwordExist) 
        lock.setVisibility(View.VISIBLE);
     else 
        lock.setVisibility(View.GONE);
    

并从 onBindViewHolder 方法中调用:

String password = list.get(position).getPassword();
if(password == null) 
    holder.hideDisplayImageView(true);
 else 
   holder.hideDisplayImageView(false);

【讨论】:

嘿金。我可以帮助您了解其他信息吗?如果您认为我的回答对您有所帮助,请考虑通过单击左侧投票箭头下方的复选标记(✔️)来接受它。应将颜色更改为绿色。我真的很感激。谢谢!【参考方案2】:

你可以试试这个

if("your condition for the child is true")
 image.setVsisibility(View.VISIBLE)
 else
 image.setVsisibility(View.GONE)

【讨论】:

【参考方案3】:

科林

val firebaseData = list.[position].getChild()
if(!firebaseData == "password")
  holder.image.isVisible = false
else holder.image.isVisible = true

Java

String firebaseData = list.getPosition().getChild();
if(!firebaseData.contains("password"))
   holder.image.setVisibility(View.GONE)
  else
     holder.image.setVisibility(View.VISIBLE) 
  

【讨论】:

以上是关于如何通过firebase实时数据库永久隐藏RecyclerView中的imageview的主要内容,如果未能解决你的问题,请参考以下文章

如何在实时 Firebase 数据库上侦听以通过后端 laravel 和 websocket 动态获取数据,而不使用 javascript

如何手动更改firebase实时数据库、数据类型?

如何防止未经授权访问我的 Firebase 实时数据库?

如何观察 Firebase 实时数据库的变化

如何防止未经授权访问我的 Firebase 实时数据库?

Firebase 实时规则如何检查具有 AutoID 的节点是不是包含正确的数据