executePendingBindings
- 뷰에 수정된 사항을 즉시 업데이트 하는 함수로, 바인딩을 즉시 실행하는 느낌이라고 보면 될 거 같아요
public void executePendingBindings() {
if (mContainingBinding == null) {
executeBindingsInternal();
} else {
mContainingBinding.executePendingBindings();
}
}
recyclerview가 재활용될 때 ViewHolder가 이전 데이터의 상태를 유지하고, 새로운 데이터가 바인딩될 때까지 잠시 이전 상태가 보이는 경우가 생길 수 있어요
이를 방지하기 위해 executePendingBindings를 사용합니다
class ItemHolder(val binding: TestItemBinding): RecyclerView.ViewHolder(binding.root) {
fun bind(item: TestItem) {
binding.item = item
binding.executePendingBindings()
}
}
RecyclerView속 이미지뷰에서 이미지가 전에 데이터들이 잠깐 보이는 경우가 있어서 사용했는데, 효과적이였습니다 🥹
'📱 Android' 카테고리의 다른 글
[Android] 이미지뷰에 apng 파일 적용하기 (0) | 2024.11.17 |
---|---|
[Android] Multipart / Presigned url (0) | 2024.11.14 |
[Android] 앱 배포 실패, 그 원인은 SoLoader ? (ft.giphy) (4) | 2024.10.11 |
[Android / Glide] Glide override / Glide 이미지 크기 조정 (1) | 2024.10.08 |
[Android] onBackPressedDispatcher 뒤로가기 제어하기 (ft. DialogFragment) (1) | 2024.09.19 |