我有一个产品列表,我正在使用 recycleView
来显示它们。
我想根据数据库中的数据更改其中一些的颜色。
我已经掌握了所有信息,我只是想知道如何正确执行。 我刚刚在适配器类中编写了一个函数,该函数从数据库读取并获取我想要着色的所有产品。我在构造函数中调用这个函数。
我不知道我是否写在正确的地方。
无论如何,我的问题是我想读取 - onBindViewHolder
到 setTextColor
的内部内容
但数据还没有更新,所以基本上什么也没有发生。
@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/