java.lang.ClassCastException
안드로이드에서 위의 코드를 컴파일 할 때, java.lang.ClassCastException 이라는 에러를 종종 보게 됩니다. 다른 문제일 수도 있겠지만 안드로이드 작업 중 XML 파일에 변경된 내용이 많을 경우 발생합니다.
예를 들어서 위의 코드와 같이 Button 을 참조할 때 View 클래스의 findViewById() 메소드를 사용해서 인수로 전달받은 ID와 연관된 View를 얻어옵니다.
앱에서 모든 R .*.* 부분은 앱이 컴파일 될때 생성되는 R.java 파일에 저장됩니다.
하지만 이 파일이 적절하게 업데이트가 되지 않은경우 findViewById() 메소드가 우리가 원하는 View를 반환하지 못하는 경우가 생기게 됩니다.
이렇게 잘 못 반환된 요소에 다른 View 를 캐스팅 하게 되면 두 요소는 엇갈리게 되어서 java.lang.ClassCastException 에러가 발생하게 되는 것입니다.
댓글 없음:
댓글 쓰기