0

내가 내 조건에 Recyclerview 항목의 배경색을 변경하고자 할 때 변경하지만 배경색을 스크롤 할 때 자동으로 내가 holder.setIsRecyclable(false);을 알고 있지만 내가 holder.setIsRecyclable(false);는 recylcerview 스크롤

을 설정하지 않고 I 변경

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

알고하지만 난 중첩 사용하고 싶지 O 대신 다른

  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)); 
      } 
+0

전체 어댑터를 공유하십시오. – YoLo

답변

0

경우 f를 변경하면 feetInt에 개체 클래스의 플래그가 유지되고 특정 플래그에 따라 배경색이 변경됩니다.

0

목록의 모든 단일 개체에 대해 feetInt의 값을 업데이트하지 않는 것 같습니다. 그래서 당신이이 문제에 직면 해 있습니다.

서로 다른 위치에 대한 목록에서 int 피트 값을 업데이트하면 원하는 결과를 얻을 수 있습니다.

또한 getItemViewCount() 및 setIsRecyclable()을 제거하십시오. 이것들은 전혀 요구되지 않습니다. 또한 구체적인 답변을 위해 코드를 공유하십시오.