안녕하세요. Gallery를 사용하는 어플을 개발중에 있습니다.
Activity에서 Gallery를 상속받은 MenuGallery라는 클래스를 호출할때 다음과 같은 Exception이 발생하는데 도저히 해결을 못하여 여러 고수님들께 도움을 받고자 질문 남깁니다.
Exception 내용은 다음과 같습니다.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): FATAL EXCEPTION: main
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mbus.allime/com.mbus.allime.MainMenuActivity}: java.lang.ClassCastException: android.widget.Gallery
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at android.os.Handler.dispatchMessage(Handler.java:99)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at android.os.Looper.loop(Looper.java:123)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at android.app.ActivityThread.main(ActivityThread.java:4627)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at java.lang.reflect.Method.invokeNative(Native Method)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at java.lang.reflect.Method.invoke(Method.java:521)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at dalvik.system.NativeStart.main(Native Method)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): Caused by: java.lang.ClassCastException: android.widget.Gallery
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at com.mbus.allime.MainMenuActivity.onCreate(MainMenuActivity.java:21)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
11-04 04:59:19.003: ERROR/AndroidRuntime(1887): ... 11 more
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
현재 메인 Activity에서 다음과 같이 MainMenuActivity를 호출합니다.
Intent intent = new Intent(this.getContext(), MainMenuActivity.class);
HLAllimeActivity.getInstance().startActivity(intent);
그리고 MainMenuActivity의 onCreate 함수의
mGallery = (MenuGallery)findViewById(R.id.gallery);
이 부분에서 ClassCastExcepiton이 발생합니다.
관련 질문을 검색해보니 아이디값 충돌이라는 얘기가 있어 id 명을 바꿔보았습니다만 해결되지 않았습니다.
혹시 개발중 이와같은 에러를 경험하신 분의 조언을 부탁드리겠습니다.
proted void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
mainmenuInst = this;
setContentView(R.layout.gallerymenu);
mGallery = (MenuGallery)findViewById(R.id.gallery);
mGallery.setAdapter(new ImageAdapter(this));
}




gallerymenu.xml에 MenuGallery를 배치하세요.