RecyclerView

    RecyclerView의 notifyItem메서드들의 문제점을 해결해보자! 3탄(ListAdapter)

    드디어 마지막 단계까지 왔습니다. 앞에서 DiffUtil과 AsyncListDiffer에 대해 알아본 것은 ListAdapter을 사용하기 위함이었다고 할 정도로 앞의 내용을 모두 포함하고 있는 주제입니다. 입사 한 직후 안드로이드를 다시 시작해서 처음 들었던 주제를 드디어 다 정리하네요. 만약 AsyncListDiffer를 모르신다면 보고 오시는 거 추천드립니다. 이해하는데 100% 도움을 줍니다. RecyclerView의 notifyItem메서드들의 문제점을 해결해보자! 2탄(AsyncListDiffer) 지난 시간엔 DiffUtil을 이용해서 문제점을 해결했다면 이번 시간엔 AsyncListDiffer을 이용해서 문제를 해결해 보겠습니다. 이번 포스팅을 보고 나면 ListAdapter을 이해하는데..

    RecyclerView의 notifyItem메서드들의 문제점을 해결해보자! 2탄(AsyncListDiffer)

    RecyclerView의 notifyItem메서드들의 문제점을 해결해보자! 2탄(AsyncListDiffer)

    지난 시간엔 DiffUtil을 이용해서 문제점을 해결했다면 이번 시간엔 AsyncListDiffer을 이용해서 문제를 해결해 보겠습니다. 이번 포스팅을 보고 나면 ListAdapter을 이해하는데 훨씬 수월합니다. ListAdapter가 AsyncListDiffer의 래핑 클래스니까요 개념 DiffUtil이 두 리스트의 차이점을 비교할 때 백그라운드 스레드에서 작동하도록 도와주는 도우미라고 볼 수 있습니다. 리사이클러뷰 어댑터에 연결될 수 있고 제출된 리스트 간에 변경사항을 어댑터에게 알립니다. 단순화를 위해 ListAdapter를 사용할 수 있습니다. 래퍼 클래스라 문제없습니다. 전체 과정은 다음과 같습니다. getCurrentList를 사용하여 현재 목록에 액세스 하고 해당 데이터 개체를 표시합니다...

    RecyclerView의 notifyItem메서드들의 문제점을 해결해보자! 1탄(DiffUtil)

    RecyclerView의 notifyItem메서드들의 문제점을 해결해보자! 1탄(DiffUtil)

    RecyclerView RecyclerView란? 1. 정의 안드로이드 공식문서에는 A flexible view for providing a limited window into a large data set.로 소개하고 있습니다. 번역하면 '대규모 데이터셋을 제한된 범위에 제공하기 위한 유연한 뷰' huzit.tistory.com 리사이클러뷰를 사용하다 보면 뷰 홀더에 있는 데이터를 변경해야 할 때가 있습니다. 그럴 때마다 notifyItemChanged()를 이용해서 리사이클러뷰의 리스트를 갱신해 왔습니다. 오늘은 다른 방법으로 리스트를 갱신하는 것과 왜 써야 하는지에 대해 샘플코드로 알아보겠습니다. DiffUtil이 뭔데? DiffUtil is a utility class that calculates..

    RecyclerView

    RecyclerView

    RecyclerView란? 1. 정의 안드로이드 공식문서에는 A flexible view for providing a limited window into a large data set.로 소개하고 있습니다. 번역하면 '대규모 데이터셋을 제한된 범위에 제공하기 위한 유연한 뷰'입니다. 조금 이해를 돕기 위해 설명을 덧붙이자면 사용자가 관리하는 데이터 셋을 아이템 단위로 구성하여 화면에 출력하는 뷰 그룹으로 제한된 화면에 제공하기 위해 스크롤 가능한 리스트로 표시해주는 위젯'이라 말할 수 있습니다. 이름으로 넘어가서 왜 리 사이클러 뷰(RecyclerView)라고 정했을까요? 그 이유는 리스트 뷰(ListView)와 다르게 매번 리스트 항목이 갱신될 때마다 기존에 사용했던 아이템 뷰를 재활용하기 때문입니다...