应用程序在移动图像按钮后崩溃!安卓

时间:2013-03-20 21:02:48

标签: android crash

所以我最近开发的应用程序很棒,我只是在应用程序的后台更新了图像。那么应用程序正在工作,我调整了一个图像按钮,以排列我制作的这个图像。在我移动它之后,应用程序将不再起作用,我已经尝试了一切但没有成功。这是活动的xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="@drawable/title_screen"
  tools:context=".TitleScreen" >

  <TextView
    android:id="@+id/txtCoins"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="18dp"
    android:layout_marginTop="11dp"
    android:text="000"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textColor="#f3c50d"
    android:textSize="12sp" />

  <ImageButton
    android:id="@+id/imageBtnPlay"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtCoins"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="51dp"
    android:background="@null"
    android:src="@drawable/btn_play" />

   </RelativeLayout>

编辑:这是我的logcat

03-20 17:08:29.847: W/dalvikvm(28692): threadid=1: thread exiting with uncaught exception (group=0x416282a0)
03-20 17:08:29.852: E/AndroidRuntime(28692): FATAL EXCEPTION: main
03-20 17:08:29.852: E/AndroidRuntime(28692): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ChonBonStudios.Tidbits/com.ChonBonStudios.Tidbits.TitleScreen}: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.ImageButton
03-20 17:08:29.852: E/AndroidRuntime(28692):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at android.app.ActivityThread.access$600(ActivityThread.java:140)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at android.os.Looper.loop(Looper.java:137)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at android.app.ActivityThread.main(ActivityThread.java:4898)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at java.lang.reflect.Method.invokeNative(Native Method)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at java.lang.reflect.Method.invoke(Method.java:511)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at dalvik.system.NativeStart.main(Native Method)
03-20 17:08:29.852: E/AndroidRuntime(28692): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.ImageButton
03-20 17:08:29.852: E/AndroidRuntime(28692):    at com.ChonBonStudios.Tidbits.TitleScreen.onCreate(TitleScreen.java:20)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at android.app.Activity.performCreate(Activity.java:5191)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
03-20 17:08:29.852: E/AndroidRuntime(28692):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
03-20 17:08:29.852: E/AndroidRuntime(28692):    ... 11 more

3 个答案:

答案 0 :(得分:1)

  

android.widget.TextView无法强制转换为android.widget.ImageButton

您正在TextView课程中某个地方的活动更改ImageButtoncom.ChonBonStudios.Tidbits.TitleScreen内投放错误的课程。

答案 1 :(得分:0)

这是一个常见问题。选择Project - Clean清理项目,它将起作用。和 gpasci 一样,请检查您是否正确初始化字段

答案 2 :(得分:0)

如果我理解正确,你只需在布局中切换TextView和ImageButton的位置,就不会改变代码。

尝试简单地清理项目和/或重新启动Eclipse。有时我遇到类似的问题,其中自动生成的ID只是同步,这就是findViewById(R.id.imageBtnPlay)实际返回TextView的原因。