📱| Android/✅ | 에러해결
[Android, Kotlin] java.lang.ClassCastException: activity cannot be cast to interface 해결
immgga
2022. 6. 7. 22:49
반응형
오늘의 오류는 클래스 간의 캐스팅이 잘 되지 않았을때 발생하는 에러인 ClassCastException을 해결했던 과정을 포스팅 해보겠다.
에러 본문

FreeBoardFragment 111번째 줄
override fun onAttach(context: Context) {
super.onAttach(context)
try {
postImageData = activity as PostImageData
} catch (e: ClassCastException) {
Log.e("ERROR", e.printStackTrace().toString(), e.cause)
}
}
interface를 이용해 fragment에서 activity로 데이터를 전달하는 과정에서 onAttach 메소드를 사용하게 되는데, 이 부분에서 오류가 났었다.
해결했던 방법
override fun onAttach(activity: Activity) {
super.onAttach(activity)
try {
Log.d("SUCCESS", "onAttach: success")
postImageData = activity as PostImageData
} catch (e: ClassCastException) {
Log.e("ERROR", e.printStackTrace().toString(), e.cause)
}
}
onAttach의 생성자 부분을 context 에서 activity로 변경해 주었다.
728x90
반응형