2013-03-20 174 views
0

所以我最近开发的应用程序进行得非常好,我只是在应用程序的后台更新了图像。那么在我调整一个图像按钮来排列我制作的这个图像之前,该应用程序正在工作。在我移动它之后,该应用程序将不再工作,并且我尝试了一切都没有成功。下面是活动移动图像按钮后,应用程序崩溃! android

<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> 

编辑的XML:这是我的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 
+1

显示您的堆栈跟踪... – 2013-03-20 21:04:55

回答

1

android.widget.TextView不能转换到android.widget.ImageButton

你在你的活动中改变了TextViewImageButton类别com.ChonBonStudios.Tidbits.TitleScreen类别中的错误类别。

0

这是一个常见问题。通过选择Project - Clean来清理您的项目,它将起作用。并且像gpasci说,检查您是否正确初始化您的字段

0

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

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