首页 编程 软件学院 查看内容

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

2015-3-2 17:56 1192 0

摘要: 1、 直接通过id查找后,绑定匿名内部类作为事件监听类。代码如下: Button loginButton = (Button) findViewById(R.id.tologin1); ...
关键词: nbsp Button setOnclickListen 代码 方法 findViewById OnclickListener public onClick 事件

1、 直接通过id查找后,绑定匿名内部类作为事件监听类。代码如下: Button loginButton = (Button) findViewById(R.id.tologin1); btn1.setOnclickListener(new OnclickListener(){        public void onClick(View v){        // 要执行的操作        } }); 这种方法有好也有不好,好的是比较直观方便,不好的是,如果按钮多了,代码看起来比较乱。 2、 实现点击事件的接口,然后一个个按钮地去绑定,最后统一做处理。代码如下: public class ActivityLogin1 extends Activity 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); Button btn2=(Button)findViewById(R.id.myButton2); btn1.setOnclickListener(new Startclick()); btn2.setOnclickListener(new Stopclick()); class StartClick implements OnClickListener{        public void onClick(View v){//或直接跟上要执行的动作               switch(v.getId()){                      case R.id.myButton1:                             //要执行的动作               }        } } class StopClick implements OnClickListener{////或直接跟上要执行的动作       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里面实现这个方法。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部