기존에 안드로이드 2.3.3 (진저브레드)에서 개발한 앱을 안드로이드 4.2.2(젤리빈)으로 변경하려고 합니다.
그러던 중 layout 클래스 cast부분에서 에러가 났는데 원인을 찾을 수 없습니다.
FrameLayout firstView = (FrameLayout) view.getChildAt(0);
진저브레드에서는 위와같이 캐스팅을 하여 문제없이 잘 실행이 되었었는데, 젤리빈에서는
저 부분이 Caused by: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.FrameLayout 이라는 오류메시지가 뜹니다. 캐스팅 부분을
LinearLayout firstView = (LinearLayout) view.getChildAt(0);
위와 같이 변경하면 저 부분은 넘어가지만 다른것들을 처리하는 것에 있어서 문제가 발생하여 마음대로 바꾸지 못하는 상태입니다.
디버깅을 걸어서 view.getChildAt(0)을 확인해보면 진저브레드에서는 FrameLayout으로 나오며
젤리빈에서는 LinearLayout으로 나오는 것을 확인하였습니다.
안드로이드 버전이 업데이트 되면서 발생한 문제인지, 아니면 안드로이드 버전과 관계없이 기기마다 차이가 있는 것인지 많은 사이트들을 돌아봤지만 원인을 찾을 수 없어 답답한 마음에 질문드립니다.
이 상황에 대해서 아시는 분들은 답변 부탁드립니다. 감사합니다.