现在建立项目的时候在布局文件里面都会有一个如下面的内容:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" />
当然你不用也可以删除掉,tools:context是指向使用此布局的Activity,或者说是上面的MainActivity会解析这个布局,写这个有什么好处呢,看下面代码:
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="clickChange"
android:text="点击" />
</LinearLayout>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
}
public void clickChange(View v) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left); }
在MainActivity.java中我没有获取activity_main.xml布局中的Button实例,同样我也没有在activity_main.xml里面设置“点击”按钮的id,但是我在按钮属性里面设置了android:onClick="clickChange"对应于MainActivity.java中的public void clickChange(View v) 方法,从上面的例子中可以看出设置tools:context后,我们可以简化一些组件实例,就像"点击"按钮只实现了一个点击功能,我们就没有必要再获取id然后实现他的onclick事件,简化了代码。