Android 无法更改recyclerview中特定项目的背景色
我正在尝试更改特定recyclerview项目的背景色。但我不明白为什么有些物品也会无缘无故地改变背景色Android 无法更改recyclerview中特定项目的背景色,android,android-recyclerview,adapter,Android,Android Recyclerview,Adapter,我正在尝试更改特定recyclerview项目的背景色。但我不明白为什么有些物品也会无缘无故地改变背景色 public void onBindViewHolder(@NonNull final MyViewHolder holder, final int i) { // if (i==2) { holder.favoriteBtn.setBackgroundColor(context.getResources().getColor(R.color
public void onBindViewHolder(@NonNull final MyViewHolder holder, final int i) {
//
if (i==2)
{
holder.favoriteBtn.setBackgroundColor(context.getResources().getColor(R.color.red));
}
}
根据我的场景,我只想更改项目编号2的颜色。好的,我得到了解决方案。。。
我们只需要停止recyclerview,重新设计我们的物品。。我们可以通过在适配器的onBindViewHolder()方法中编写以下行来实现
holder.setIsRecyclable(false);
这不是一个好主意。相反,你应该在
if
上放置一个else
,将背景设置为其他位置的默认颜色。是的,这就是回收视图的全部要点,以重用类似的视图,这样你就不会在内存中出现一堆屏幕外的视图。您需要创建刚好足以填满屏幕空间的内容(再加上一些内容,以便在滚动时“填补空白”),然后在onBindViewHolder()
中更新这些视图的特定位置。