阅读Firebase DB后如何在RecycleView中更改itemView?

时间:2019-12-27 13:47:01

标签: 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是所有产品的清单,我想将其中一些涂成彩色。 在.......部分中,我检查该产品是否在另一个容器中,该容器是通过我上面编写的函数从数据库中读取的。

1 个答案:

答案 0 :(得分:0)

我相信您正在使用RecyclerView.Adapter,因为onBindViewHolder的方法签名只有两个参数。 Firebase拥有自己的用于recyclerviews的适配器,请参阅FirebaseRecyclerAdapter。它为您侦听数据库,因此您无需继续查询数据库。只需实现OnDataChanged方法即可执行数据更新时想要做的事情。