본문 바로가기

TLI/Android

ListAdapter의 holder 재사용

  • visible인 상태에서 holder가 재활용이 되면 해당 holder에서 visible이 되기 원하지 않더라도 적용되어 있다.
  • Visible / Gone에 대한 예외 처리를 모두 해줘야 재활용이 되었을 때 이전 holder의 상태를 가져가지 않는다.
  • 이전 holder에서의 예외 처리가 부족하면 재활용 되었을 때 그 상태를 들고 가게 된다.
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
	...
	
    if(currentItem.snippet.isLike) {
        interestedHolder.like.visibility = ImageView.VISIBLE
    } else { // 예외처리 추가
        interestedHolder.like.visibility = ImageView.GONE
    }
}

'TLI > Android' 카테고리의 다른 글

ConstraintLayout의 weight 비율 조정  (0) 2024.08.26
OnBackPressedCallback(true)  (0) 2024.08.25
Retrofit  (0) 2024.08.09
Shared Preference / Room  (0) 2024.08.06
Compose(Recomposition/rememeber/state hoisting)  (0) 2024.08.04