Android开发(1)click button

来源:互联网 发布:windows视频播放器 编辑:程序博客网 时间:2024/05/25 23:58

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的功能都不复杂的情况。

原创粉丝点击