Android Developer

FragmentContainerView 가 Design 에서 미리보기가 안될 때 해결 방법

졸려질려 2023. 4. 3. 14:41
반응형

 필자는 Android 앱을 개발하면서 UI 를 만들 때, [Split] 모드로 코딩을 한다. [Split] 모드는 왼쪽에는 [Code] 뷰, 오른쪽에는 [Design] 뷰가 보여서 XML 코드를 추가함과 동시에 앱에서 어떻게 보여질지 미리볼 수 있어서 좋다.

 그런데, 어느 순간 FragmentContainerView 를 추가하면, 우측에 미리볼 수 있는 곳에서 모든게 안보이는 버그(?)가 나타났다. 그래서 급할 때는 FragmentContainerView 부분을 주석처리하고, 다른 부분을 작업했다.

FragmentContainerView 가 미리 보이지 않는 현상

 어느날, 위 현상을 해결하고 FragmentContainerView 를 주석처리할 필요 없이 작업할 수 있는 방법을 찾아내서, 블로그에 정리하고자 한다. 해결 방법이 너무나 간단해서 본 글은 엄청 짧다.

 해결 방법은 간단했다. 우선, 우측에 빨간 느낌표 아이콘을 클릭해준다.

 View 에 무언가 에러가 있다는 표시인데, 위 아이콘을 클릭하면 하단에 에러 목록이 나타난다.

 현재 예시로 쓴 코드는 FragmentContainerView 만 추가된 상태이기 때문에 에러가 1개만 나타난 상태이다. 실사용에 문제가 되지 않는 Warining 들도 위 에러 목록에 추가된다. 이제 저 에러를 펼쳐보면, 왜 FragmentContainerView 가 미리보기로 나타나지 않는지 설명해준다.

 에러문을 요약해보면, "FragmentContainerView 에 어떤 Fragment 가 들어올지 몰라서 그릴 수가 없다". FragmentContainerView 는 여러 Fragment 를 필요에 따라 추가 및 삭제 할 수 있는 공간이기 때문에, 코드 상에서 그려줄 수 없는 것이다. 만약, FragmentContainerView 에 단일 Fragment 만 넣을 것이거나, 초기에 넣고 싶은 Fragment 가 있다면 "android:name" 속성을 통해 넣어주면 위 에러는 해결된다.

 만약 "android:name" 을 넣어줘도 해결되지 않거나, FragmentContainerView 에 XML 상에서 어떤 Fragment 도 넣고 싶지 않다면, 다른 해결방법이 있다. 위 사진으로 이미 눈치챘겠지만, 마지막 줄에 "Do not warn about ~~" 을 클릭하면 된다.

 그러면 이전처럼 기능이 돌아와, 추가적인 XML 작업을 진행할 수 있다.

반응형