반응형
CustomView를 만들어 사용하다 보면 아래와 같은 에러가 발생하는 경우를 볼 수 있다.
물론 xml을 작성 시 존재하지 않는 Class를 태그로 사용 허거나 오타 등등으로도 발생할 수 있다.
관련된 에러를 수정하면서 찾아보니 발생하는 이유는 다양했다.
아래와 같이 정리해봤습니다.
에러 메시지
2022-05-24 09:45:24.293 31272-31272/ E/AndroidRuntime: FATAL EXCEPTION: main Process: com.test.main, PID: 31272 android.view.InflateException: Binary XML file line #116 in com.test.main:layout/popup_settings: Binary XML file line #116 in com.test.main:layout/popup_settings: Error inflating class com.test.main.CommonButton Caused by: android.view.InflateException: Binary XML file line #116 in com.test.main:layout/popup_settings: Error inflating class com.test.main.CommonButton |
방법
- xml에 작성한 클래스(패키지명)까지 잘못 입력된 부분이 있는지 확인한다.
- xml에 설정값이 잘못 입력되었는지 확인한다.
- 생성자 함수를 만들지 않은 경우
- 예) CustomView는 매개변수를 Activity가 아닌 Context로 해야 한다.
- 예) 클래스를 상속받으면 부모 클래스에도 같은 생성자를 넣어줘야 한다.
- image관련 경우 이미지 리소스를 drawable이 아닌 drawable-24에 넣은 경우 발생한다.
- drawable로 옮겨준다.
- fragment 통신 오류
- fragment는 항상 자신이 속한 activity만 통신이 가능하다
- 직접적으로 통신하려 하면 이 오류가 발생한다
- 벡터 이미지 적용 시
- 키켓 이하의 운영체제를 지원하는 앱에서 ImageView에 android:backgroud 대신에 app:srcCompat을 사용한다.
728x90
반응형
'개발 > Android' 카테고리의 다른 글
android 12 간단 정리 (0) | 2022.05.25 |
---|---|
[Android] installed build tools revision 31.0.0 is corrupted. remove and install again using the sdk manager. (0) | 2022.05.25 |
[Android] RecyclerView 재사용 오류 (0) | 2022.05.21 |
Android Gradle plugin requires java 11 to run. (0) | 2022.05.19 |
[Android] string.xml 공백 넣기 (0) | 2022.05.19 |
댓글