본문 바로가기

RecyclerView3

RecyclerView + MVVM + Room을 연습해보자! 연습한 내용을 기록하는 거라 다른 게시글에 비해 다소 설명 불친절할 수 있습니다(?) 강의글이 아니에요! 0. 프롤로그 처음에 나는 MVVM이란 구조가 명확히 있고 같이 사용하면 좋은 라이브 데이터, 데이터 바인딩 이런 거를 같이 사용해야 진정한 Clean Architecture다!라고 생각하고 고민을 했었다. 하지만 예제들을 보면 어떤 사람은 이걸 쓰고 어떤 사람은 이거 말고 저걸 쓰고 또 구현하는 방식도 제각각이고 등등.. 너무 헷갈려서 오픈 채팅방에 SOS 요청을 했더니 위와 같이 답변을 해주셨다. (내 생각을 정확히 꿰뚫으심...) 그래서 처음부터 너무 틀에 구애받지 말고 처음부터 너무 완벽하게 하려고 하지 말고 이해한 부분부터 차근차근 구조를 완성시켜보고 나중에 새로운 걸 추가시키더라도 일단은 .. 2021. 3. 11.
Inconsistency detected. Invalid view holder adapter positionMyNoticeViewHolder (부제: 스크롤을 너무 빠르게 내렸을 때 생기는 문제) 1. 나의 해결법 refreshRecyclerView (새로고침 기능) endlessRecyclerView (목록의 끝에 도달하면 다음 항목 불러오는 기능) 이 두 개를 같이 사용하다가 문제가 생겼다. 새로고침을 한 다음에 스크롤을 빠르게 내리면 앱이 강제 종료가 되어버린다. [Inconsistency detected. Invalid view holder adapter positionMyNoticeViewHolder{38334d0 position=8 id=-1, oldPos=-1, pLpos:-1 no parent] IndexOutOfBoundsException이 떴고 position에 대해 이야기하는 걸 보니 새로고침을 하고 리스트를 로드하는 과정에서 문제가 있는 것 같았다. 실제로도 새로고침을 하지 .. 2021. 1. 27.
[코틀린] infinite/endless scroll(무한 스크롤)과 recyclerView 1. infinite/endless scroll 1-1. 개념 1-2. Progress Bar 1-3. 아이템 뷰(ItemView) 1-4. 홀더(Holder) 1-5. 스크롤 리스너(Scroll Listener) 1-6. 다른 최하단 도달 감지 방법 2. Adapter 1-1. 전체 소스 1-2. 코드 설명 3. Activity 3-1. 전체 소스 3-2. 코드 설명 4. 예제 다운로드 1. infinite/endless scroll 1-1. 개념 게시물 리스트를 쭉 내리다가 어느 지점에 도착하면 그다음 게시물 리스트를 가져오는 방법이 있다. 이것을 infinite scroll 혹은 endless scroll이라고 부른다. (심지어 어떤 외국 블로거는 ultimate scroll이라고 부르던데 딱히 정.. 2021. 1. 8.