android:onClick
很多时候我们写点击事件是在java代码里面,如果你动态不修改按钮的属性的时候,可以将点击事件写在xml里面,看下面代码:
- <span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
- <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=".Test" >
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:onClick="clickChange"
- android:text="点击" />
- </LinearLayout>
- </span>
- <span style="font-size:14px;">public class Test extends Activity {
- @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);
- }
- }</span>
在Test.java中我没有获取test.xml布局中的Button实例,同样我也没有在test.xml里面设置“点击”按钮的id,但是我在按钮属性里面设置了android:onClick="clickChange"对应于Test.java中的public void clickChange(View v) 方法,从上面的例子中可以看出设置tools:context后,我们可以简化一些组件实例,就像"点击"
按钮只实现了一个点击功能,我们就没有必要再获取id然后实现他的onclick事件,简化了代码。