滚动recyclelerview项目回收视图滚动时的背景颜色更改

问题描述 投票:1回答:2

我想在我的条件下更改Recyclerview项目背景颜色,但当我滚动背景颜色自动更改我知道holder.setIsRecyclable(false);但我不想设置holder.setIsRecyclable(false);

而且我知道

 if(item.value == 1){
    // do something
    } else{
      // do something
   }

但我想使用嵌套if else

           if (feetInt > 0 && feetInt < 4) {
                ((PatientViewHolder) holder).rlClientItemMain.setBackgroundColor(ContextCompat.getColor(mContext, R.color.player_list_green));
            } else if (feetInt >= 4 && feetInt < 6) {
                ((PatientViewHolder) holder).rlClientItemMain.setBackgroundColor(ContextCompat.getColor(mContext, R.color.player_list_yellow));
            } else if (feetInt == 0 || feetInt >= 6) {
                ((PatientViewHolder) holder).rlClientItemMain.setBackgroundColor(ContextCompat.getColor(mContext, R.color.player_list_red));
            }else{
                ((PatientViewHolder) holder).rlClientItemMain.setBackgroundColor(ContextCompat.getColor(mContext, R.color.player_list_grey));
            }
android android-recyclerview recycler-adapter recyclerview-layout
2个回答
1
投票

而不是在feetInt上改变颜色而不是在你的对象类中保持一个标志,并根据特定的标志改变你的背景颜色


0
投票

看起来您没有为列表中的每个对象更新feetInt的值。这就是你面临这个问题的原因。

更新列表中的foot int值以获取不同的位置,您将获得所需的结果。

另外,删除getItemViewCount()和setIsRecyclable()。根本不需要这些。此外,分享您的代码以获得更具体的答案。

© www.soinside.com 2019 - 2024. All rights reserved.