java - 阅读Firebase DB后如何更改RecyclerView中的itemView?

标签 java firebase android-recyclerview

我有一个产品列表,我正在使用 recycleView 来显示它们。 我想根据数据库中的数据更改其中一些的颜色。

我已经掌握了所有信息,我只是想知道如何正确执行。 我刚刚在适配器类中编写了一个函数,该函数从数据库读取并获取我想要着色的所有产品。我在构造函数中调用这个函数。

我不知道我是否写在正确的地方。

无论如何,我的问题是我想读取 - onBindViewHoldersetTextColor 的内部内容 但数据还没有更新,所以基本上什么也没有发生。

 @Override
 public void onBindViewHolder(@NonNull ProductItemView holder, int position)
 {
    holder.bind(mproductsList.get(position), barcodes.get(position));
    ....
    ....
    holder.nameProductTextView.setTextColor(Color.GREEN);
 }

mproductsList 是所有产品的列表,其中一些我想用颜色绘制。 在 ....... 部分中,我检查该产品是否位于另一个容器中,该容器是我在上面编写的函数中从数据库中读取的。

最佳答案

我相信您正在使用 RecyclerView.Adapter,因为 onBindViewHolder 的方法签名只有两个参数。 Firebase 有自己的 recyclerviews 适配器,请参阅 FirebaseRecyclerAdapter 。它会为您监听数据库,这样您就不需要继续查询数据库。只需实现 OnDataChanged 方法即可在数据更新时执行您想要执行的操作。

关于java - 阅读Firebase DB后如何更改RecyclerView中的itemView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59501717/

相关文章:

java - 即使显示复选框,单击复选框也无法使用 Selenium webdriver

java - 如果在 Servlet 上始终为 false,则符合逻辑

java.lang.NoSuchMethodError 在 Cloudbees 追我

javascript - 无法删除 firebase 中的元素和子元素

带有 GridLayoutManager 的 Android RecyclerView 使项目跨越多行

java - 延迟初始化异常

javascript - 如何使用 Reactjs 在 Firebase 上修补和删除?

node.js - Firebase函数如何从Firebase数据库获取 bool 值

android - notifyDataSetChanged() 在 recyclerview 上做了什么?为什么每次我调用 notifyDataSetChanged() 时它都会不断添加新数据?

android - 错误找不到与给定名称 : attr 'borderWidth' in Android Studio 匹配的资源