【问题标题】:Relative Layout's Widget Error相对布局的小部件错误
【发布时间】:2012-05-18 13:44:32
【问题描述】:

我收到了这个奇怪的错误,似乎每次我通过代码在我的 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):致命异常:主 05-18 11:17:08.920:E/AndroidRuntime(516):java.lang.RuntimeException: 无法开始活动 组件信息{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):在 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):在 dalvik.system.NativeStart.main(本机方法)05-18 11:17:08.920: E/AndroidRuntime(516):引起:java.lang.ClassCastException: android.widget.LinearLayout 05-18 11:17:08.920: E/AndroidRuntime(516): 在 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 更多

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

【问题讨论】:

  • 对不起,我要出去一个小时左右,我回家再看看。谢谢。
  • 我做到了,但它只是没有出现,不知道为什么。虽然通过清洁它已修复,但谢谢大家:D

标签: android android-relativelayout classcastexception


【解决方案1】:

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

【讨论】:

  • 谢谢老兄,它有效。但是这种问题有点烦人,如果编码正确应该不会出错>.
  • 大声笑,这就是为什么它总是建议,如果您对资源进行了一些更改,您应该在构建之前清理项目。
  • 酷哥们,每次我做出一些讨厌的改变时,我都会清理它。再次感谢嘿,传奇! :D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-30
  • 2015-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多