⛔ 문제사항
xml내부에 재사용되는 UI를 include하여 코드를 작성하고 있는데 자꾸 이런 에러가 발생했다.
✅ 해결방안
원인은 include한 코드와 include 내부 xml 코드의 id값이 달라서 발생하는 문제였다.
이렇게 include한 바깥 Activity xml과 내부 Layout xml의 id값을 맞춰주면 해당 에러는 사라지게 된다.
그런데, 나는 한 가지 더 문제가 있었는데 바로 include한 TabLayout에서는 id값을 맞춰주어도 에러가 발생한다는 것이었다.
원인은 바로 tabItem에 id값을 주어서였는데, tabItem은 원칙적으로 id값을 주지 못하는 게 원인으로 보인다. (버그일수도)
id를 사용해서 tabItem값에 접근할 수 없기 때문에 아래 코드처럼 getTabAt 메소드에 index값을 넣어 접근하는 방법을 이용하면 된다.
binding.tablayout.tablayout.getTabAt(index:0)
❗출처
참고 사이트 : https://lwamuhaji.tistory.com/57
[안드로이드 스튜디오] tablayout의 tabitem 사용시 java.lang.NullPointerException: Missing required view with ID
java.lang.NullPointerException: Missing required view with ID tablayout의 tabitem ID를 지정하는 경우 위와 같은 오류가 뜬다. 마테리얼 라이브러리를 사용하는 경우 발생하는 버그로 tabitem의 ID를 삭제해주면 해결
lwamuhaji.tistory.com
'Android > 문제해결' 카테고리의 다른 글
문제해결 : Unresolved reference: BuildConfig (0) | 2024.08.01 |
---|---|
문제해결 : Val cannot be reassigned (0) | 2024.07.29 |
문제해결 : java.util.ConcurrentModificationException (0) | 2024.07.18 |
문제해결 : Hardcoded string "", should use @string resource (0) | 2024.06.18 |
문제해결 : kotlin.NotImplementedError: An operation is not implemented: Not yet implemented (0) | 2024.05.29 |