2014-02-09 43 views
0

,當我跑我的應用程序時收到以下錯誤:收到此錯誤:不幸的是,應用程序已經停止,運行我的應用程序

02-09 18:01:19.582: D/AndroidRuntime(1306): Shutting down VM 
02-09 18:01:19.582: W/dalvikvm(1306): threadid=1: thread exiting with uncaught exception (group=0xa4d86b20) 
02-09 18:01:19.582: E/AndroidRuntime(1306): FATAL EXCEPTION: main 
02-09 18:01:19.582: E/AndroidRuntime(1306): Process: com.shashank.sharjahinternationalairport, PID: 1306 
02-09 18:01:19.582: E/AndroidRuntime(1306): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.shashank.sharjahinternationalairport/com.shashank.sharjahinternationalairport.MainActivity}: java.lang.ClassCastException: android.widget.ImageButton cannot be cast to android.widget.Button 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at android.app.ActivityThread.access$800(ActivityThread.java:135) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at android.os.Handler.dispatchMessage(Handler.java:102) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at android.os.Looper.loop(Looper.java:136) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at android.app.ActivityThread.main(ActivityThread.java:5017) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at java.lang.reflect.Method.invoke(Method.java:515) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at dalvik.system.NativeStart.main(Native Method) 
02-09 18:01:19.582: E/AndroidRuntime(1306): Caused by: java.lang.ClassCastException: android.widget.ImageButton cannot be cast to android.widget.Button 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at com.shashank.sharjahinternationalairport.MainActivity.onCreate(MainActivity.java:23) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at android.app.Activity.performCreate(Activity.java:5231) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
02-09 18:01:19.582: E/AndroidRuntime(1306):  ... 11 more 

我不知道爲什麼這個錯誤是怎麼回事?任何見解?謝謝。

這是main.xml中的代碼:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > 

       <ImageButton 
        android:id="@+id/visitorInfo" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_alignTop="@+id/saaDca" 
        android:layout_marginTop="48dp" 
        android:src="@drawable/ic_launcher" /> 

       <ImageButton 
        android:id="@+id/flightInfo" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignLeft="@+id/visitorInfo" 
        android:layout_alignTop="@+id/cargo" 
        android:src="@drawable/ic_launcher" /> 

       <ImageButton 
        android:id="@+id/cargo" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_alignParentTop="true" 
        android:layout_marginRight="24dp" 
        android:layout_marginTop="46dp" 
        android:src="@drawable/ic_launcher" /> 

       <ImageButton 
        android:id="@+id/saaDca" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/flightInfo" 
        android:layout_marginLeft="20dp" 
        android:layout_marginTop="37dp" 
        android:layout_toRightOf="@+id/visitorInfo" 
        android:src="@drawable/ic_launcher" /> 

       <ImageButton 
        android:id="@+id/airportGuide" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignLeft="@+id/cargo" 
        android:layout_below="@+id/saaDca" 
        android:src="@drawable/ic_launcher" /> 

這是airport_guide.xml代碼:

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

    <ImageButton 
    android:id="@+id/aboutAirport" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_launcher" /> 
    <ImageButton 
    android:id="@+id/transferAndTransit" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_launcher" /> 
    <ImageButton 
    android:id="@+id/arrivals" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_launcher" /> 
    <ImageButton 
    android:id="@+id/fs" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_launcher" /> 
    <ImageButton 
    android:id="@+id/departure" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_launcher" /> 
    <ImageButton 
    android:id="@+id/virtualTours" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_launcher" /> 
    </LinearLayout> 

這是Java代碼:

package com.shashank.sharjahinternationalairport; 

    import android.app.Activity; 
    import android.os.Bundle; 
    import android.view.Menu; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.Button; 

    public class MainActivity extends Activity { 
Button flightInfoButton; 
Button airportGuideButton; 
Button visitorInfoButton; 
Button saaDcaButton; 
Button cargoButton; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    flightInfoButton = (Button) findViewById(R.id.flightInfo); 
    airportGuideButton = (Button) findViewById(R.id.airportGuide); 
    visitorInfoButton = (Button) findViewById(R.id.visitorInfo); 
    saaDcaButton = (Button) findViewById(R.id.saaDca);   
    cargoButton = (Button) findViewById(R.id.cargo); 

    airportGuideButton.setOnClickListener(new OnClickListener(){ 
    @Override 
    public void onClick(View V){ 

     setContentView(R.layout.airport_guide); 

    } 
}); 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
    } 

    } 
+1

'android.widget.ImageButton不能投到android.widget.Button'這個錯誤很明顯。 –

+0

嗨,並歡迎StackOverflow。我想提醒你,我們不僅僅是一些投擲你的堆棧跟蹤的I/O機器,而是希望得到解決方案。請解釋您的問題,展示您的代碼,並至少說出「嗨」。 – nhaarman

+0

對不起。我是新來的stackoverflow。我會把代碼。 – shashank

回答

0

看看你的MainActivity線23

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

那是你的錯誤,沒有代碼,我們不能告訴到底什麼是錯的。它可能與事實有關:ImageButton不是Button

孩子看看參考:

http://developer.android.com/reference/android/widget/ImageButton.html

0

你可能有一行說明:

Button myButton = (Button)findViewById(R.id.my_image_button);

在xml中,id爲「my_image_button」(爲示例選擇的名稱)的元素是ImageButton。不幸的是,你不能使用ImageButton作爲標準的Button。

那麼你應該更換行:

ImageButton myImageButton = (ImageButton) findViewById(R.id.my_image_Button);

+0

非常感謝。這是問題。現在工作正常 – shashank

+0

當我從主菜單按按鈕上的不同屏幕,然後按返回按鈕,應用程序正在關閉,而不是回到主菜單,爲什麼是發生了什麼?請幫忙。謝謝。 – shashank

1

您只需要更換此

Button myButton = (Button)findViewById(R.id.my_image_button); 

隨着

ImageButton myImageButton = (ImageButton) findViewById(R.id.my_image_Button); 
相關問題