Android控件之Button点击事件监听器的绑定
刚入门android的都知道Button是最常用了几大控件之一。其中Button点击事件的绑定有三种。每个人都有自己习惯的写法,过于深究并没有什么意思。但是这里记录下来也算长长见识了。
第一种是直接实现匿名内部类,也是我用的相对比较多的两种方法之一
下面是定义下XML文件中的一个Button
<Button android:text="MyButton"
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
</Button>
以下是绑定监听器的方法
public void onCreate(Bundle saveInsanceState){
super.onCreate(saveInsanceState);
setContentView(R.layout.activity_main);
Button myButton=(Button)findViewById(R.id.Button01);
myButton.setOnClickListener(new onClickListener{
@Override
public void onClick(View v){
//你要执行的代码
}
});
}
第二种是在XML文件中声明onClick函数名,然后在Activity中实现它。注意最后一行多了一个android:onClick声明,这是我第二常用的方式
<Button android:text="MyButton"
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="btn01Click"
</Button>
之后是Activity的代码
@Override
public void btn01OnClick(View view){
//你要执行的代码
}
最后一种我比较少用,可能有些人反而喜欢这种,主要还是看个人习惯吧,就是Activity实现onClickListener接口,然后通过Id来判断是哪个控件。
Button还是用之前的
<Button android:text="MyButton"
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
</Button>
下面是Activity的代码
public class MainActivity extends Activity implements OnClickListener{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (v.getId()) {
case R.id.Button01:
//你要做的事情;
break;
default:
break;
}
}
}
以上就是绑定按钮点击事件的三种方式了