请教问题如下:
main.xml布局文件如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/themain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
给RelativeLayout添了一个id,
在Activity中
不使用setContentView(R.layout.main);
而使用setContentView(R.id.themain);
为何程序会报错强退?
先谢谢了!
------解决方案--------------------
setContentView这个里面要放个布局文件,R.layout.main指向的就是那份文件,R.id.themain只是指那个RelativeLayout而已
------解决方案--------------------
如上楼所说,R.id.themain只是指那个RelativeLayout而已,返回的是一个int,如果你把它改成
setContentView(findViewById(R.id.themain))就不会有错了哦,因为RelativeLayout也是个view的子类。
------解决方案--------------------
setContentView 根据字面意思就可以知道 是设置view,它需要的参数是一个视图文件。R.id.themain只是那个布局的id。
------解决方案--------------------
setContentView()里面加载布局 文件,也就是加载R,layout.main这个布局文件,而RelativeLayout仅仅相当于一个view ,而不是布局文件!所以他要加载的话是通过findVIewById(int)进行加载的!