这就是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
我真的不明白。
最佳答案
问题不在您的xml中,而是在java文件中。你正在做这样的事情
LinearLayout xyz = (LinearLayout)findViewById(R.id.Mainbody)
在使用
RelativeLayout
时。因此,您将获得ClassCastException
。像这样做 RelativeLayout xyz = (RelativeLayout)findViewById(R.id.Mainbody)
关于android - 为什么不能将relativeLayout用作parentView?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16667057/