📱 Android

[Android] binding 즉시 업데이트 하기 executePendingBindings

콩드로이드 2024. 11. 21. 20:44

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속 이미지뷰에서 이미지가 전에 데이터들이 잠깐 보이는 경우가 있어서 사용했는데, 효과적이였습니다 🥹