728x90
오늘도 안드로이드 개발을 하다가
java.lang.IndexOutOfBoundsException:Inconsistency detected. Invalid view holder adapter positionMyViewHolder{152d0dc position=5 id=-1, oldPos=-1, androidx.recyclerview.widget.RecyclerView
이런 에러가 났다.
SwipeRefreshLayout을 썼는데 당겨서 새로고침을 하고나면 앱이 죽으면서 저 에러가 났다.
구글링을 하다가 https://stackoverrun.com/ko/q/12042505
RecyclerView 및 java.lang.IndexOutOfBoundsException 잘못된 뷰 홀더 어댑터 positionViewHolder
식료품 품목을 바인딩하는 리사이클 러 뷰가 있습니다. 항목을 추가하면 완벽하게 작동합니다. 그러나 항목을 삭제하려고하면 응용 프로그램이 충돌하고 IndexOutOfBoundsException 오류가 발생합니다
stackoverrun.com
이 글을 발견했다.
이렇게 인자로 넘어온 position을 그대로 썼었는데
int safePosition = holder.getAdapterPosition();
이렇게 선언하고
이렇게 safePosition을 쓰니까 해결됐다.
728x90