如何通过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