1

我收到了这个奇怪的错误,似乎每次我通过代码在我的 RelativeLayout 中编辑子视图的位置时,我都会收到一个运行时错误,例如 FATAL EXCEPTION: MAIN 和 ClassCastException: ChildView 的类。

起初它是我的 ImageView,所以我尝试使用 Eclipse 中的 GUI 移动它,然后它是我的 LinearLayout,所以我做了同样的事情,但后来它又回到了 ImageView,等等。我想知道我的布局有什么问题? 这是我的 main.xml 编码:

<TextView
    android:id="@+id/txtVersion"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:padding="10dp"
    android:text="version 1.0"
    android:textColor="#000000"
    android:textSize="15sp"
    android:textStyle="bold" />

<TextView
    android:id="@+id/txtLogo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/logo_background"
    android:gravity="center"
    android:padding="20dp"
    android:paddingBottom="5dp"
    android:paddingRight="20dp"
    android:paddingTop="5dp"
    android:text="Ngaji Yuk"
    android:textColor="#FFFFFF"
    android:textSize="25sp"
    android:textStyle="bold" />

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:gravity="center"
    android:orientation="vertical"
    android:paddingBottom="5dp"
    android:paddingRight="20dp"
    android:paddingTop="5dp" >

    <Button
        android:id="@+id/btnRead"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/button_background"
        android:gravity="center"
        android:padding="20dp"
        android:paddingBottom="5dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:paddingTop="5dp"
        android:text="Mulai Ngaji"
        android:textColor="#FFFFFF"
        android:textSize="20sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/btnIndex"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/button_background"
        android:gravity="center"
        android:padding="20dp"
        android:paddingBottom="5dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:paddingTop="5dp"
        android:text="Indeks"
        android:textColor="#FFFFFF"
        android:textSize="20sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/btnAbout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_background"
        android:gravity="center"
        android:padding="20dp"
        android:paddingBottom="5dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:paddingTop="5dp"
        android:text="Tentang Aplikasi"
        android:textColor="#FFFFFF"
        android:textSize="20sp"
        android:textStyle="bold" />

</LinearLayout>

<ImageView
    android:id="@+id/imgMamat"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:src="@drawable/ic_launcher" />

除了分配变量外,我的 MainActivity 中没有编码,并且仅适用于 LinearLayout 内的按钮。

哦,如果这是一个愚蠢的问题,请原谅,我是 Android 的初学者,谢谢。

编辑:这是我的 Logcat:

05-18 11:17:08.920: E/AndroidRuntime(516): 致命异常: main 05-18 11:17:08.920: E/AndroidRuntime(516): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com. rangga.elearning.ngaji/com.rangga.elearning.ngaji.MainActivity}:java.lang.ClassCastException:android.widget.LinearLayout 05-18 11:17:08.920:E/AndroidRuntime(516):在 android.app.ActivityThread .performLaunchActivity(ActivityThread.java:2663) 05-18 11:17:08.920: E/AndroidRuntime(516): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 05-18 11:17:08.920: E /AndroidRuntime(516): 在 android.app.ActivityThread.access$2300(ActivityThread.java:125) 05-18 11:17:08.920: E/AndroidRuntime(516): 在 android.app.ActivityThread$H.handleMessage(ActivityThread .java:2033) 05-18 11:17:08.920: E/AndroidRuntime(516):在 android.os.Handler.dispatchMessage(Handler.java:99) 05-18 11:17:08.920: E/AndroidRuntime(516): 在 android.os.Looper.loop(Looper.java:123) 05-18 11 :17:08.920:E / AndroidRuntime(516):在android.app.ActivityThread.main(ActivityThread.java:4627)05-18 11:17:08.920:E / AndroidRuntime(516):在java.lang.reflect。 Method.invokeNative(Native Method) 05-18 11:17:08.920: E/AndroidRuntime(516): at java.lang.reflect.Method.invoke(Method.java:521) 05-18 11:17:08.920: E /AndroidRuntime(516): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 05-18 11:17:08.920: E/AndroidRuntime(516): 在 com.android.internal。 os.ZygoteInit.main(ZygoteInit.java:626) 05-18 11:17:08.920: E/AndroidRuntime(516): at dalvik.system.NativeStart.main(Native Method) 05-18 11:17:08.920: E /Android 运行时(516):引起:java.lang.ClassCastException: android.widget.LinearLayout 05-18 11:17:08.920: E/AndroidRuntime(516): at com.rangga.elearning.ngaji.MainActivity.onCreate(MainActivity.java:35) 05 -18 11:17:08.920: E/AndroidRuntime(516): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 05-18 11:17:08.920: E/AndroidRuntime(516): 在 android.app .ActivityThread.performLaunchActivity(ActivityThread.java:2627) 05-18 11:17:08.920: E/AndroidRuntime(516): ... 11 更多E/AndroidRuntime(516): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 05-18 11:17:08.920: E/AndroidRuntime(516): ... 11 更多E/AndroidRuntime(516): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 05-18 11:17:08.920: E/AndroidRuntime(516): ... 11 更多

清理项目似乎修复了它。当出现这样的问题时有点烦人,即使所有代码都没有显示错误>.<

4

1 回答 1

1

尝试清理和构建,这可能是由于之前对 xml 视图的一些引用仍然存在

于 2012-05-18T04:39:07.747 回答