Android应用程序崩溃因为xml

时间:2014-06-07 15:57:55

标签: android xml button

我做错了什么?

<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:background="@drawable/main_background"
tools:context="${packageName}.${activityClass}" >

<TextView
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<TextView
    android:id="@+id/text1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/text" />

<TextView
    android:id="@+id/text2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/text1" />

<TextView
    android:id="@+id/text3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/text2" />

<ImageView
    android:id="@+id/element1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="10dp"
    android:background="@drawable/kolo_1" />

<ImageView
    android:id="@+id/element2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="10dp"
    android:background="@drawable/trojkat_1" />

<ImageView
    android:id="@+id/element3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="10dp"
    android:background="@drawable/kwadrat_1" />

<ImageView
    android:id="@+id/element4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="10dp"
    android:background="@drawable/wielokat_1" />

<ImageView
    android:id="@+id/element5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="10dp"
    android:background="@drawable/gwiazdka_1" />

<ImageView
    android:id="@+id/element6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="10dp"
    android:background="@drawable/romb_1" />

<Button
    android:id="@+id/buttonstart"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/linear1"
    android:layout_marginBottom="30dp"
    android:text="@string/play"
    android:textColor="#efefef"
    android:textSize="15sp" />

<LinearLayout
    android:id="@+id/linear1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/linear2"
    android:layout_marginBottom="2dp"
    android:layout_weight="1"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="1dp"
        android:layout_marginRight="2dp"
        android:layout_weight="1"
        android:background="@drawable/kolo_1"
        android:onClick="button1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="2dp"
        android:layout_weight="1"
        android:background="@drawable/trojkat_1"
        android:onClick="button2" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="1dp"
        android:layout_weight="1"
        android:background="@drawable/kwadrat_1"
        android:onClick="button3" />
</LinearLayout>

<LinearLayout
    android:id="@+id/linear2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_weight="1"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="1dp"
        android:layout_marginRight="2dp"
        android:layout_weight="1"
        android:background="@drawable/wielokat_1"
        android:onClick="button4" />

    <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="2dp"
        android:layout_weight="1"
        android:background="@drawable/gwiazdka_1"
        android:onClick="button5" />

    <Button
        android:id="@+id/button6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="1dp"
        android:layout_weight="1"
        android:background="@drawable/romb_1"
        android:onClick="button6" />
</LinearLayout>

06-07 15:55:25.669: D/libEGL(1642): loaded /system/lib/egl/libGLES_android.so
06-07 15:55:25.679: D/libEGL(1642): loaded /system/lib/egl/libEGL_adreno200.so
06-07 15:55:25.689: D/libEGL(1642): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
06-07 15:55:25.689: D/libEGL(1642): loaded /system/lib/egl/libGLESv2_adreno200.so
06-07 15:55:25.759: D/OpenGLRenderer(1642): Enabling debug mode 0
06-07 15:55:31.349: D/AndroidRuntime(1642): Shutting down VM
06-07 15:55:31.349: W/dalvikvm(1642): threadid=1: thread exiting with uncaught exception (group=0x40a4a1f8)
06-07 15:55:31.359: E/AndroidRuntime(1642): FATAL EXCEPTION: main
06-07 15:55:31.359: E/AndroidRuntime(1642): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.arsoft.shootandremember/com.arsoft.shootandremember.Remember}: java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.ImageButton
06-07 15:55:31.359: E/AndroidRuntime(1642):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2079)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at android.app.ActivityThread.access$600(ActivityThread.java:132)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1157)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at android.os.Looper.loop(Looper.java:137)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at android.app.ActivityThread.main(ActivityThread.java:4575)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at java.lang.reflect.Method.invokeNative(Native Method)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at java.lang.reflect.Method.invoke(Method.java:511)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at dalvik.system.NativeStart.main(Native Method)
06-07 15:55:31.359: E/AndroidRuntime(1642): Caused by: java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.ImageButton
06-07 15:55:31.359: E/AndroidRuntime(1642):     at com.arsoft.shootandremember.Remember.onCreate(Remember.java:79)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at android.app.Activity.performCreate(Activity.java:4465)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
06-07 15:55:31.359: E/AndroidRuntime(1642):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2033)
06-07 15:55:31.359: E/AndroidRuntime(1642):     ... 11 more
06-07 15:55:32.649: I/Process(1642): Sending signal. PID: 1642 SIG: 9

4 个答案:

答案 0 :(得分:1)

看看这一行:

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

狂野猜测:您声明了 ImageButton ,然后尝试将其分配到onCreate方法中的按钮
您的布局中没有 ImageButtons

答案 1 :(得分:1)

我认为您只需要清理项目然后运行。以及工具:context =&#34; $ {packageName}。$ {activityClass}此行不是必需的。

答案 2 :(得分:0)

你的logcat说你做错了类型转换。你试图将一个按钮转换成图像按钮:

错:

Button _button = (ImageButton) findViewById(R.id.yourbuttonid);

正确:

Button _button = (Button) findViewById(R.id.yourbuttonid);

答案 3 :(得分:0)

看起来你正试图将你的一个(Button)变成OnCreate方法中的(ImageButton)。

  1. 将(按钮)更改为xml中的(ImageButton)或...
  2. 将(按钮)转换为OnCreate方法中的常规(Button)
  3. 希望这有帮助