android:onClick 的使用 xml调用Java代码

android:onClick

很多时候我们写点击事件是在java代码里面,如果你动态不修改按钮的属性的时候,可以将点击事件写在xml里面,看下面代码:

[html]  view plain copy
  1. <span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     xmlns:tools="http://schemas.android.com/tools"  
  4.     android:layout_width="match_parent"  
  5.     android:layout_height="match_parent"  
  6.     android:orientation="vertical"  
  7.     tools:context=".Test" >  
  8.   
  9.   
  10.     <Button  
  11.         android:layout_width="wrap_content"  
  12.         android:layout_height="wrap_content"  
  13.         android:onClick="clickChange"  
  14.         android:text="点击" />  
  15.   
  16.   
  17. </LinearLayout>  
  18. </span>  

[java]  view plain copy
  1. <span style="font-size:14px;">public class Test extends Activity {  
  2.   
  3.     @Override  
  4.     protected void onCreate(Bundle savedInstanceState) {  
  5.         super.onCreate(savedInstanceState);  
  6.         setContentView(R.layout.test);  
  7.     }  
  8.   
  9.     public void clickChange(View v) {  
  10.         Intent intent = new Intent(this, MainActivity.class);  
  11.         startActivity(intent);  
  12.         overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);  
  13.     }  
  14.   
  15. }</span>  

在Test.java中我没有获取test.xml布局中的Button实例,同样我也没有在test.xml里面设置“点击”按钮的id,但是我在按钮属性里面设置了android:onClick="clickChange"对应于Test.java中的public void clickChange(View v) 方法,从上面的例子中可以看出设置tools:context后,我们可以简化一些组件实例,就像"点击"
按钮只实现了一个点击功能,我们就没有必要再获取id然后实现他的onclick事件,简化了代码。

你可能感兴趣的:(android:onClick 的使用 xml调用Java代码)