안녕하세요 제가 진행 중인 프로젝트에서 아리송한 에러가 발생해서 질문드립니다.
저는 Room으로 구현된 DB에 데이터를 저장 중입니다. 이 데이터는 날짜 정보 또한 포함하고 있는데요,
메인화면에서 통계창버튼을 누르면 "오늘"의 데이터들을 리사이클러뷰로 보여주고 있습니다.
여기까지는 아주 문제가 없는데, 추가적인 기능이 CALENDAR VIEW에서 다른 날짜를 클릭하면 그 날짜의 데이터들로 위의 리사이클러 뷰를 업데이트해주고 있습니다.
저는 Calendar View의 setOnDataChanged의 onSelectedDayChange안에서, asynctask를 이용하여 기존 adapter에 db에서 빼온 새로운 데이터들을 넣어주고 notifyDataSetChanged 함수를 이용하였습니다.
문제는 실행을 하면 원했던 기능이 잘 구현되기는 합니다. 다만, 어떤 날짜를 연속으로 여러번 클릭하면 갑자기 리사이클러뷰에 아무것도 뜨지 않기도 하고, 그 상황에서 다시 또 여러번 누르면 리사이클러뷰가 데이터를 보여주기도 하고 이런 것을 반복한다는 것입니다. 또 날짜를 누르다보면 앱이 재시작되거나 죽어버리기도 합니다. 무엇이 문제일까요 ㅠㅠ...
에러창에서는 이런 말이 나타납니다.
Inconsistency detected. Invalid item position 2(offset:2).state:7 androidx.recyclerview.widget.RecyclerView{4e5d138 VFED..... .... 이런 문구 하나와
E/AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:6584) 이런 문구 하나가 확인됩니다.