总结一下,android的监听绑定方法主要有一下五种方法。分别讲述一下:


【方法一】通过xml文件绑定

首先讲的这种方法比较少使用。在支付宝第三方中有应用。

       

在xml布局文件中,通过android:onClick="method_name"方法绑定一个方法名为method_name的监听相应,在点击时会通过反射的方法调用该方法。在这段代码中,给button绑定了一个方法名为pay的监听相应。对应的,在使用这个xml的Activity中,需要实现该pay()方法。

public void pay(View v) {//your method}
在OnCreate中是需要setContentView(),甚至不需要findViewById就可以实现监听绑定了。


【方法二】匿名内部类

这种方法较为简便,但是在需要绑定的监听较多的情况下,代码可读性下降。在空间较多的Activity中不建议使用。例如给ivImage设置监听

ivImage.setOnClickListener(new OnClickListener() {public void onClick(View v) {//your method}});


【方法三】自定义事件监听类

这种方法比较清晰。在控件或者监听较多的情况下,使用该方法比较方便。而且实现事件监听类可以在构造方法中传入一些必须的参数。

public class shareButtonListener implements OnClickListener {private Content contentChoose;public shareButtonListener(Content content) {
                        //传入Content类型super();this.contentChoose = content;}public shareButtonListener() {super();}@Overridepublic void onClick(View v) {// TODO Auto-generated method stub// your method}};
   

【方法五】Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法,在OnClick(View view)方法中用switch-case对不同id代表的button进行相应的处理。但是这种方法在需要绑定的控件监听较多的情况下,可读性也就太好。

public class TestButtonActivity extends Activity implements OnClickListener {   Button btn1, btn2;  Toast tst;   @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_test_button);     btn1 = (Button) findViewById(R.id.button1);    btn2 = (Button) findViewById(R.id.button2);     btn1.setOnClickListener(this);    btn2.setOnClickListener(this);  }   @Override  public void onClick(View v) {    // TODO Auto-generated method stub    switch (v.getId()) {    case R.id.button1:      tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT);      tst.show();      break;    case R.id.button2:      tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT);      tst.show();      break;    default:      break;    }  }}







更多相关文章

  1. 如何向Android的framework里添加新类 &&& android修改开放类方法
  2. Android swap分区作用及swapper软件设置方法
  3. android Matrix处理图片原理及方法整理
  4. android studio打开旧项目遇到build.gradle相关的问题解决方法
  5. android判断模拟器的三种方法
  6. android获取资源文件R.drawable中的图片的相关方法

随机推荐

  1. 第九章 Android(安卓)系统信息与安全机制
  2. Android自带音频均衡器MusicFx分析
  3. android ADB 详解
  4. Android关闭JIT的方法
  5. Android官方架构组件ViewModel:从前世今
  6. android同一个程序中使用多个地图出现混
  7. Android(安卓)实现TextView中文字链接的
  8. 使用AudioTrack播放PCM音频数据(android)
  9. Android学习笔记_布局文件属性的说明
  10. Android(安卓)Choreographer 源码笔记