View
오늘 찾은 것!
오늘은 ScrollView를 사용하다가 에레 사항을 발생 했다.
늘 잘 사용하다가 값자기 에러 사항이 발생하였고 어떻게 보면 가장 기초적인 부분인데 본인도 모르는 사이에 잊을 수 있어 다음에 절대 잊지 않기 위해서 글을 포스트한다.
자 왜 오류가 나서 화면이 안뜰까?
정상 사진
오류 사진-1
오류 사진-2
자 어떤 이유에서 3사진 중 1개만 정상이고 나머지 둘 중에 한개는 화면이 아에 안들고 한개는 흰색 화면만 뜨게 되는걸까용?
이유는 간단합니다. 어떻게 보면 2개의 오류 모두 똑같은 이유에서 뜨는 에러입니다.
자 설명하겠습니다.
2번째 사진의 에러가 나는 이유는 DataBinding은 가질 수 있는 하위 뷰가 한개 이기 때문입니다.
코드의 줄을 잘보면 가지고 있는 하위 뷰를 AppbarLayout와 ScrollView로 2개를 가지고 있습니다.
글쓴이도 착각했던 부분 중 한가지가 DataBinding의 경우 Layout, data 태그 후에 아래 하위 뷰가 되는데 해당 2번째 사진의 경우 하위 레이아웃이 총 AppbarLayout와 ScrollView로 2가지가 표시된 것입니다.
그렇다보니 AppBarLayout의 화면이 흰색으로 표시 되었고 추후에 아래 ScrollView가 호출되면 에러가 나는 것이다.(생각도 못했다..DataBinding을 잘 안써서 자연스럽게 맨위에 있는 layout이 한개라고 생각해버림...)
자 그럼 3번째 사진도 알 수 있을 것이다.
바로 스크롤뷰도 하위 하나의 뷰만 가질 수 있는데 해당 코드를 보면 AppbarLayout와 constrainlayout 이렇게 2개를 가지는 것을 볼 수 있습니다. 그렇기 때문에 에러가 뜨고 화면이 아에 안뜨게 된 것입니다.
여기서 중요한 점은 Scrollview 특징으로 ScrollView 또한 하위 1개의 뷰만 가질 수 있다는 것입니다.(주의 합시당!!!)
오늘 포스트는 여기서 간단히 마치겠습니다. 기본기를 잊지 맙시당!
'TIL > 스터디' 카테고리의 다른 글
TabLayout 스크롤 감지 (Viewpager안썻을 때) (0) | 2024.03.28 |
---|---|
LinearLayoutMananger(RecyclerView 스크롤 제어) (0) | 2024.03.27 |
SavedStateHandle (0) | 2024.03.25 |
Jetpack Navigation (safe args) (0) | 2024.03.22 |
Constraintlayout Chain (0) | 2024.03.21 |