본문 바로가기
안드로이드

RecyclerView. No adapter attached; skipping layout 오류에 관하여

by 베어 그릴스 2021. 10. 2.
320x100

리사이클러뷰를 쓰다보면 해당 오류로 인해 화면이 안나오는 경우를 수도 없이 겪는다

이때, checkList

 

1. 뷰바인딩 했을때, setcontentView(binding.root)로 되어있는지 확인하자. 기본값인 R.layout.~로 되어있다면 어답터가 붙지 않는다! 오류 문구가 뜨는 것도 아니기 때문에 매우 찾기 힘든 오류!

 

2. setAdapter를 하지 않았을 수도 있다.

3. 레이아웃 매니저를 설정하지 않았다. 리니어든, 그리드든 레이아웃 매니저를 설정해 주세요. RecyclerView는 레이아웃 메니저가 있어야 데이터 렌더링이 시작된다!

4. 어댑터에서 자동 생성되는 함수 중에 getItemCount 가 있죠. 간혹 자동생성된 채로 0이 리턴되거나 문법이 잘못되면, 아무 아이템도 추가되지 않아 skipping layout오류가 나온다!

5. 데이터에 변화가 생기는 곳에 notifyDataStateChanged 메소드를 어댑터에 붙여주어야 한다. -> 이거관련 notifyDataStateChanged가 효율적인 내장함수는 아니기 때문에 무조건 이걸 써주는게 아니라 notify관련 함수 찾아보는걸 추천!


이상 체크리스트 5개! 별다른 오류가 뜨는게 아니기 때문에 화면에 이게 왜안보이지..? 하면서 찾기 힘든 오류!

gridview listview도 마찬가지이다.

오류를 해결하는 것 까진 좋으나 언제든 기억할 수 있게 데이터화 해두자
728x90

'안드로이드' 카테고리의 다른 글

[Android] RoomDB  (0) 2021.11.07
Kotlin CustomCalendarView 구현  (0) 2021.10.10