-> itemAnimator에 A뷰타입인 경우 재사용하지 않도록 itemAnimator 적용.
binding.recyclerView.itemAnimator = object : DefaultItemAnimator() {
override fun canReuseUpdatedViewHolder(viewHolder: RecyclerView.ViewHolder): Boolean {
return if (viewHolder.itemViewType == “A”) {
true
} else {
super.canReuseUpdatedViewHolder(viewHolder)
}
}
}
클릭이벤트를 받아서 recyclerview의 뷰를 업데이트 하려고 할때, submitList해서 onBind에서 뷰 그리는것을 처리하려고 하지 않고 클릭 이벤트에서 처리할 수 있으면 submitList를 하면서 뷰를 다시 그리는 오버헤드를 줄일 수 있다.
(리사이클러뷰 리스트 순서 편집 시 - 같은 카테고리인 아이템들은 일반처리/ 나머지 카테고리는 블러처리를 해야했음 : bind에서 처리하여 아이템이 바뀌엇다고 처리하지 않고, 그냥 클릭이벤트로 두고 viewholder에 변수로 두기)
-> onViewAttachedToWindow( onBind 다음에 불리는 함수 - 아이템에 윈도우에 보일 때 불리는 함수) 에서 알파 처리하도록 함.