您的位置:首页 > 移动开发 > Android开发

Android - Button(按钮)的响应点击事件的4种写法

2014-12-16 21:56 633 查看
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
56
7
8
9
10
1112
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()
方法:

12
3

public void click(View v){
...
}

一个Button只能有一个onClick属性值,一个click()方法可以赋给多个Button。 在click()方法中可以针对Button的Id来做响应,参见上面的Tips。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: