Android 四种绑定监听事件的方式

Android 四种绑定监听事件的方式

1、

直接通过id查找后,绑定匿名内部类作为事件监听类。代码如下:

Button loginButton =(Button) findViewById(R.id.tologin1);

btn1.setOnclickListener(newOnclickListener(){

public void onClick(View v){

// 要执行的操作

}

});

 

这种方法有好也有不好,好的是比较直观方便,不好的是,如果按钮多了,代码看起来比较乱。

 

2

实现点击事件的接口,然后一个个按钮地去绑定,最后统一做处理。代码如下:

 

public class ActivityLogin1 extendsActivity implements View.OnClickListener

 

btnLogin = (Button)findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(this);

 

btnBack = (Button) findViewById(R.id.back);
btnBack.setOnClickListener(this);

 

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.back:
//
对应操作

break;

case R.id.btnLogin:

//对应操作

break;

.......

}

}

 

这种方法有点批量处理的味道。统一处理,可以让代码看起来更加结构化。

 

3

自定义监听事件类,实现点击事件的接口。代码如下:

 

Button btn1=(Button)findViewById(R.id.myButton1);

Buttonbtn2=(Button)findViewById(R.id.myButton2);

btn1.setOnclickListener(new Startclick());

btn2.setOnclickListener(new Stopclick());

 

class StartClick implementsOnClickListener{

public void onClick(View v){//或直接跟上要执行的动作

switch(v.getId()){

case R.id.myButton1:

//要执行的动作

}

}

}

 

class StopClick implementsOnClickListener{或直接跟上要执行的动作

public void onClick(View v){

switch(v.getId()){

case R.id.myButton2:

//要执行的动作

}

}

}

 

第三种方法我用得比较少,代码参考别人的。详情可见,http://blog.sina.com.cn/s/blog_48b5bee10102uwmz.html

 

4

 

我要重点说一下第四种方法。因为比较常用第一种和第二种,有次看支付宝开发集成demo时,找按钮的监听事件找了半天找不到。那里面使用的就是这种绑定方式。代码如下:

 

<BUTTON
android:id="@+id/pay"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:onClick="pay"
android:text="
支付"
tools:ignore="HardcodedText" />

 

public void pay(View v) {

//要执行的操作

}

 

这种方法比较简便,因为我不常用,差点忘了还有这种方法。重点是在xml布局里,android:onClick="pay",pay是一个方法名,你要在这个布局对应的Activity里面实现这个方法。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值