Android

Android

DiffUtil 톺아보기

💡 Intro DiffUtil은 RecyclerView의 리스트를 업데이트 할 수 있는 방법 중 하나다. 우테코를 하면서 이 녀석의 존재를 알고 있긴 했는데 정확히 어떤 녀석이고 어떤 방법으로 리스트를 변경하는지는 몰랐다. 마침 지금 진행하고 있는 프로젝트에서 DiffUtil을 사용하고 있으니 자세하게 알아보려고 한다. RecyclerView 데이터 업데이트 방법 DiffUtil을 사용하지 않아도 RecyclerView의 리스트를 업데이트 하는 방법은 많다. 대표적인 메서드로으로 notifyDataSetChanged가 생각날 것이고 이외에도 notify 로 시작하는 메서드들이 많다. notifyDataSetChanged에 대해서 공식문서를 살펴보면 해당 메서드는 최후의 수단으로 사용하라고 한다. 데이터 ..

Android

AdapterPosition과 LayoutPosition 뭐가 달라요?

💡 Intro 리사이클러뷰를 사용하다보면 유저가 특정 아이템을 클릭했을 때 처리를 해줘야 할 필요가 있다. 이를 구현하는 방법은 여러가지가 있겠지만 나는 Activity → Adapter → ViewHolder로 람다를 전달하는 방식으로 구현한다. 이렇게 구현하면 어댑터나 뷰홀더가 어느 함수에 강하게 결합되어 있지 않기 때문에 재사용하기 좋아진다. 그런데 아이템을 클릭했을 때 해당 뷰홀더가 가지고 있는 데이터를 사용하여 어떤 작업을 하기 위해서는 약간의 처리가 더 필요하다. 클릭한 뷰홀더에 바인딩 되어있는 String을 사용해야 한다고 가정하자. 그러면 Activity → Adapter → ViewHolder로 전달하는 람다가 다음과 같이 될 것이다. Activity → Adapter : (String)..

Krrong
'Android' 카테고리의 글 목록