Mobile App/Android
[안드로이드] java. lang. NullPointerException: Attempt to invoke interface method 'int java.lang. CharSequence.Length()' on a null object reference (SwitchCompat Error)
Jman
2023. 9. 4. 20:56
오늘 만난 Error 이다.
API 호환성을 위하여 AppComapat 위주로 뷰를 짜다가 겪은 Error 엿다.
왜 이러지? 하면서 Switch 로 바꿔보니, 역시나 상위 뷰가 AppCompat 이다보니, Switch 뷰를 사용할 수 없었다..
사실 해결방법은 쉬웠다.
SwitchCompat 뷰에서 속성을 넣어줘야 했던 부분을 내가 넣어주지 않아서 발생한 거였다.
계속 의아하긴 했었다.. 아니 무슨 CharSequence.length() 가 null 이지?
뷰를 만드는데, 왜 문자 시퀀스 길이를 체크하고 그게 널이라고 뜨는 걸까? Text 를 넣어줘야하는 게 아닌가? 라는 생각이 이어졌다.
결과적으로,
andorid:textOff 와 android:textOn 속성을 넣어주면 된다.
그러면 정상적으로 동작할 것이다.