마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

java.lang.ClassCastException 의 오류에 대해서 질문이 있습니다.

0 추천

현재 프로그램은 시작하자마자 프래그먼트를 호출하여 프래그먼트창과 액티비티창의 사이드바로 구성되어

프래그먼트창의 버튼이나 사이드바의 버튼을 클릭하면 새로운 프래그먼트를 뿌려주는 프로그램인데

하다보면 정상적으로 작동을 하다가 갑자기

java.lang.ClassCastException:  오류가 뜨는데 이유를 잘 모르겠습니다.

이게 뜨는부분이 메인액티비티에서 즐겨찾기를 추가하면 프래그먼트에 버튼을 추가해주는 부분에서 에러가 뜹니다.

TestMain ttm = (TestMain) getFragmentManager().findFragmentById(R.id.content_frame);
ttm.favoritesButton();
 
잘 작동을 하다가 오류가 떠서 문의를 드리게 되었습니다.
 
09-03 15:48:34.330: E/AndroidRuntime(18946): FATAL EXCEPTION: main
09-03 15:48:34.330: E/AndroidRuntime(18946): Process: co.kr.gmpit.mains, PID: 18946
09-03 15:48:34.330: E/AndroidRuntime(18946): java.lang.ClassCastException: co.kr.gmpit.slfragments.Fragment001 cannot be cast to co.kr.gmpit.mains.TestMain
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at co.kr.gmpit.mains.VTPMsMain_Activity$4.onClick(VTPMsMain_Activity.java:273)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:954)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at android.widget.AdapterView.performItemClick(AdapterView.java:308)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at android.widget.AbsListView.performItemClick(AbsListView.java:1524)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at android.widget.AbsListView$PerformClick.run(AbsListView.java:3531)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at android.widget.AbsListView$3.run(AbsListView.java:4898)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at android.os.Handler.handleCallback(Handler.java:733)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at android.os.Handler.dispatchMessage(Handler.java:95)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at android.os.Looper.loop(Looper.java:136)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at android.app.ActivityThread.main(ActivityThread.java:5591)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at java.lang.reflect.Method.invokeNative(Native Method)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at java.lang.reflect.Method.invoke(Method.java:515)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
09-03 15:48:34.330: E/AndroidRuntime(18946): 	at dalvik.system.NativeStart.main(Native Method)

 

 

Noswind (2,330 포인트) 님이 2014년 9월 3일 질문

1개의 답변

0 추천
getFragmentManager().findFragmentById(R.id.content_frame);

의 리턴 결과가 null이 아닌지와 리턴 결과의 클래스가 무었인지 확인해보세요.
익명사용자 님이 2014년 9월 3일 답변
...