2013-05-02 1 views
0

Android에 복수 activities을 생성했습니다. 이것은 내 logcat 오류 출력입니다.3 액티비티로 Android에서 여러 활동

log.txt에

05-03 03:17:23.295: E/PhonePolicy(1854): Could not preload class for phone policy: com.android.internal.policy.impl.PhoneWindow$ContextMenuCallback 
05-03 03:17:37.044: W/dalvikvm(1854): threadid=1: thread exiting with uncaught exception (group=0x409db1f8) 
05-03 03:17:37.044: E/AndroidRuntime(1854): FATAL EXCEPTION: main 
05-03 03:17:37.044: E/AndroidRuntime(1854): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jumoun.itemp/com.jumoun.itemp.Converter}: java.lang.ClassCastException: android.widget.ImageButton cannot be cast to android.widget.Button 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at android.app.ActivityThread.access$600(ActivityThread.java:123) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at android.os.Looper.loop(Looper.java:137) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at android.app.ActivityThread.main(ActivityThread.java:4427) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at java.lang.reflect.Method.invoke(Method.java:511) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at dalvik.system.NativeStart.main(Native Method) 
05-03 03:17:37.044: E/AndroidRuntime(1854): Caused by: java.lang.ClassCastException: android.widget.ImageButton cannot be cast to android.widget.Button 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at com.jumoun.itemp.Converter.onCreate(Converter.java:41) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at android.app.Activity.performCreate(Activity.java:4465) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 
05-03 03:17:37.044: E/AndroidRuntime(1854):  ... 11 more 
05-03 03:17:38.704: I/Process(1854): Sending signal. PID: 1854 SIG: 9 

이, 당신이하여 ImageButton하지에 버튼을 캐스팅해야 Converter.java http://pastebin.com/VNNPy7D5

고마워 :) 라인 (41)에

+1

'Buttons'중 하나가 실제로 xml의 'ImageButton'인 것처럼 보입니다. 이게 옳은 거니? xml을 게시하면 도움이 될 것입니다 – codeMagic

+0

고마워요. 삼촌, 맞습니다. 방금 확인했습니다. :) –

+0

당신은 오신 것을 환영합니다. 나는 또한 logcat에 관한 메모를 편집했다. 읽는 방법을 이해하면 디버깅이 훨씬 쉽습니다. 수락하는 것을 잊지 마십시오 :) – codeMagic

답변

1

내가 바로이

ibHome3 = (Button) findViewById(R.id.ibHome3); 

이 문제를 일으키는 계산합니다. 귀하의 xml에는 ImageButton이지만, 귀하의 자바 선언에는 Button이 있습니다. 그냥 로그 캣에, 또한 로그 캣 정보

ImageButton ibHome3; 

에 조금 조언을

을 변경합니다. Fatal Exception 뒤에 Caused By이라는 첫 줄이 있으면 문제를 쉽게 추적 할 수 있습니다. 여기이 다음 패키지를 참조하는 것을 후 첫 선을 찾아 예외를

java.lang.ClassCastException 

을 제공

Caused by: java.lang.ClassCastException: android.widget.ImageButton cannot be cast to android.widget.Button 

입니다. 여기

at com.jumoun.itemp.Converter.onCreate(Converter.java:41) 

이것은 우리가 문제가 오른쪽 라인 (41)

0

내 자바 파일입니다 버튼 :

ibHome3 = (ImageButton) findViewById(R.id.ibHome3); 
1

당신은 당신의 레이아웃 파일에 두 개의 버튼을 가지고에서 Converter.java에서 시작 말한다? 그들은 XML 파일에서 ImageButton으로 정의 된 것으로 보입니다. Activity에서 Button으로 선언하고 캐스트와 함께 (Button)으로 변환하려고 시도합니다. 활동 파일에서 유형을 ImageButton으로 변경하십시오. 그것은 당신의 prolbem을 해결할 수 있습니다.

+1

예 삼촌, 내 실수 :) –