0

これは私が持っているものでsetContentView(R.layout.activity_main);あり、アプリを実行するたびにクラッシュする理由がわかりません。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/Mainbody"
   android:layout_width= "wrap_content"
android:layout_height= "wrap_content" 
    >
<LinearLayout
android:id="@+id/Boss"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">


</LinearLayout>

</RelativeLayout>

しかし、<LinearLayou>代わりにメインの親として使用すると、クラッシュしません!

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/Mainbody"
   android:layout_width= "wrap_content"
android:layout_height= "wrap_content" 
    >
<LinearLayout
android:id="@+id/Boss"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">


</LinearLayout>

</LinearLayout>

そして、これが丸太猫がそれについて言わなければならないことです..

05-20 11:55:14.400: E/AndroidRuntime(2052): FATAL EXCEPTION: main
05-20 11:55:14.400: E/AndroidRuntime(2052): java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams

よくわかりません..

4

1 に答える 1

0

問題はxmlではなく、Javaファイルにあります。あなたはこのようなことをしています

LinearLayout xyz = (LinearLayout)findViewById(R.id.Mainbody)

使用中RelativeLayout。だからあなたは得てClassCastExceptionいます。このようにしてください

 RelativeLayout xyz = (RelativeLayout)findViewById(R.id.Mainbody)
于 2013-05-21T10:35:35.150 に答える