button的按键事件

原来的网址:http://www.yrom.net/blog/2011/12/12/android-4-onclicklistener-of-button/

 

Button控件setOnclickListener(View.OnClickListener listener)来接收一个点击事件的监听器

  • 自定义一个点击事件监听器类
    让其实现View.OnClickListener的onClick(View v)方法
1
2
3
4
5
class MyOnClickListener implements View.OnclickListener{  public void onClick(View v){  ...  } } 

然后注册到按钮上

1
btn.setOnclickListener(new MyOnClickListener ()); 
  • 采用匿名内部类的形式
    当监听器只适用一个按钮时,可以将上面一个方法简化:
1
2
3
4
5
btn.setOnclickListener(new View.OnClickListener (){  public void onClick(View v){  ...  } }); 
  • 将当前Activity去实现View.OnClickListener
    在Activity中实现其onClick()方法。这样可以使多个按钮复用一个监听器。
    注册监听时,只需将当前对象(this)给按钮即可:
1
btn.setOnclickListener(this); 

Tips:用switch-case针对各个Button的id来做相应的响应: eg.

1
2
3
4
5
6 7 8 9 10 11 12 13 
public void onClick(View v){  switch(v.getId()){  case R.id.btn_login:  login();  break;  case R.id.btn_regist:  regist();  break;  default:  doSomething();  break;  } } 
  • 在布局文件中显式指定按钮的onClick属性
    对应Activity的布局文件加入形如:
1
2
3
4
5
<Button
  android:onClick="click"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="@string/btn_text" /> 

这样按钮点击时会利用反射的方式调用对应Activity中的click()方法:

1
2
3
public void click(View v){ ... } 

一个Button只能有一个onClick属性值,一个click()方法可以赋给多个Button。 在click()方法中可以针对Button的Id来做响应,参见上面的Tips。

转载于:https://www.cnblogs.com/changzheng/p/3997904.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值