티스토리 뷰

반응형

대부분의 List를 구현 시 RecyclerView 를 활용할 것입니다.
다수의 Data를 갖고있는 List의 Data를 갱신 시 깜박이는 것을 확인 할 수 있을 것입니다.

데이터 갱신 시 깜박이는 현상을 막을 수 있는 방법은 없을까요?

 

깜박이는 현상은 Data를 갱신하면서 List의 모든 Cell을 다시 그리면서 발생하고 있습니다.

그렇다면 이미 존재하고 있는 Cell을 다시 안그리는 방법은 없을까요?

 

Adapter에 고유한 id를 을 갖고있다는 것을 설정하면 됩니다.

 

val adatper = NewAdapter() //RecyclerView에 설정할 adapter
adatper.setHasStableIds(true)

 

또한 Adapter의 getItemId을 override 하여 고유한 id를 선언합니다. (중요!)

 

override fun getItemId(position: Int): Long {
  // 특정 id 가 없을 시 position 값으로 대체
  return position.toLong()
}

 

 

마무리

간단히 recyclerView의 깜박음 방지 방법을 알아봤습니다.

 

반응형
댓글