Android开发(1)click button
标签(空格分隔): 技术博客
我目前掌握的ClickButton方法有3个。
更改onclick属性
第一个是修改button的onclick属性,然后在程序中直接调用。调用时如同一般函数一样即可,要求返回值为void,权限为public,传入为一个类型为View的参数,即button本身。
<Button
android:onClick="hello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_text" />
public void hello(View v){
...
}
在实际应用中,点击button时,程序将会自动将这个button传入这个函数。
开发允许你有多个button具有相同的onclick属性,那么不论你点击哪一个button,一定会执行相同函数的内容。
思考
感觉这样的安全性不高,因为在不同位置的button一定会产生不同的效果,即不可能存在完全相同的button,如果有,用这个方法无可厚非。
使用clicklistener
第二种方法是在程序中获得该button对象,然后重新设置它的click监听函数,设置函数为:
btn.setOnclickListener(new View.OnClickListener ());
即需要一个OnClickListener对象来设置该button的监听。
OnClickListener可以通过以下类似继承的代码来获得
class MyOnClickListener implements View.OnclickListener{
public void onClick(View v){
...
}
}
OnClickListener也可以直接在函数中声明
btn.setOnclickListener(new View.OnClickListener (){
public void onClick(View v){
...
}
});
在activity统一定义一个onclick
在activity统一定义一个onclick(一个onclick可以给多个button使用)
对于每个button,我们进行注册:
btn.setOnclickListener(this);
随后我们在onclick函数中进行每个button的区别即可:
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;
}
}
这个方法比较适合每个button的功能都不复杂的情况。