반응형
https://medium.com/androiddevelopers/merge-adapters-sequentially-with-mergeadapter-294d2942127a
CheckList 에서 체크했더니 체크가 풀렸다가 다시 체크가 되면서 반짝이는(?) 버그가 발견되었다.
로그를 찍어보니 CheckList adapter 에서 onBindViewHolder 가 2번 호출되고 있었다.
ConcatAdapter 안에 있는 특정 어댑터에서
notifyItemChanged(~)
notifyDataSetChanged()
등 호출하면 다른 adapter 에도 영향이 간다.
예를들어
0 - progress adapter
1 - checklist adapter
이렇게 있는데
0번 adapter 에서 notifyDataSetChanged() 를 호출하면 1번 adapter 도 변경을 해버린다.
0번만 변경하고 싶으면 notifyItemChanged(0) 를 호출하면 된다.
ConcatAdapter 라 notify 범위가 각각 적용될 줄 알았는데 내부적으로는 ViewType 나눠놓은거라 그런듯 하다.
반응형
'프로그래밍 > App 개발' 카테고리의 다른 글
[Android] ConstraintLayout: spread, spread_inside (0) | 2024.06.05 |
---|---|
[Android] POST_NOTIFICATIONS Permission 작동 안하는 문제 (dialog not showing) (1) | 2023.11.23 |
[Android] GitHub Actions CI/CD (0) | 2023.11.14 |
[Android] 버저닝 정책 (1) | 2023.11.03 |
[Android] File templates (BottomSheet) (1) | 2023.11.02 |