문제점
리사이클러뷰 아이템이 제대로 나오지 않는 경우는 굉장히 많을텐데 이번에는 좀 특이 케이스인 것 같다. recycler_view의 height를 0dp를 하면 이상하게 나오고, wrap_content를 사용하면 제대로 나온다. 어답터로는 Jetpack의 ListAdapter를 사용했다. RecyclerView.Adapter로 수행해도 같은 문제가 반복돼서 그 어답터 문제는 아니라고 판단했었다.
비정상(CardView > Constraint > RecyclerView(Height=0dp))
카드뷰 하위 레이아웃을 Constraint layout을 사용하고 그 하위에 recyclerview의 높이를 0dp로 지정
정상(CardView > Constraint > RecyclerView(Height=wrap_contents))
카드뷰 하위 레이아웃을 Constraint layout을 사용하고 그 하위에 recyclerview의 높이를 wrap_contents로 지정
근데 정상이긴 해도 리사이클러뷰가 꽉 채워지는걸 원했다.
최종 이상적인 정상(CardView > Linear Layout> RecyclerView(Height=0dp, layout_weight = 1))
카드뷰 하위 레이아웃을 리니어 레이아웃를 사용하고 그 하위에 recyclerview의 높이를 0dp, layout_weight을 1로 지정
왜 Constraint Layout에서는 안되는지 잘 모르겠다. 이문제로 7시간 가량 소요됐다. 로직 영역에서 문제가 계속해서 발생하고 이유를 모르겠다면 xml에 문제가 종종 있는거 같다.
'안드로이드 > 안드로이드 디버깅' 카테고리의 다른 글
[디버깅] SwipeRefreshLayout+RecyclerView 조합에서 item click 이벤트 수신 불가 문제 (0) | 2020.11.29 |
---|---|
[디버깅] 리사이클러뷰 스크롤 다운 시 아이템이 뒤섞이는 문제 (0) | 2020.11.29 |
[디버깅] 두 개의 프래그먼트에서 동시에 LiveData를 Observing 하는 경우 (0) | 2020.11.06 |
[디버그] RecyclerView 실제 데이터와 View가 맞지 않는 문제 (0) | 2020.10.11 |
[디버깅] ClassNotFoundException: Dex file '/data/app,...' (0) | 2020.10.04 |