zoukankan      html  css  js  c++  java
  • Android

    Button控件setOnclickListener(View.OnClickListener listener)来接收一个点击事件的监听器

    • 自定义一个点击事件监听器类
      让其实现View.OnClickListener的onClick(View v)方法
      1
      2
      3
      4
      5
      class MyOnClickListener implements View.OnclickListener{
      public void onClick(View v){
      ...
      }
      }
      然后注册到按钮上
      1
      btn.setOnclickListener(new MyOnClickListener ());
    • 采用匿名内部类的形式
      当监听器只适用一个按钮时,可以将上面一个方法简化:
      1
      2
      3
      4
      5
      btn.setOnclickListener(new View.OnClickListener (){
      public void onClick(View v){
      ...
      }
      });
    • 将当前Activity去实现View.OnClickListener
      在Activity中实现其onClick()方法。这样可以使多个按钮复用一个监听器。
      注册监听时,只需将当前对象(this)给按钮即可:
      1
      btn.setOnclickListener(this);
      Tips:用switch-case针对各个Button的id来做相应的响应:
      eg.
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      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;
      }
      }
    • 在布局文件中显式指定按钮的onClick属性
      对应Activity的布局文件加入形如:
      1
      2
      3
      4
      5
      <Button
      android:onClick="click"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/btn_text" />

    这样按钮点击时会利用反射的方式调用对应Activity中的click()方法:

    1
    2
    3
    public void click(View v){
    ...
    }

    一个Button只能有一个onClick属性值,一个click()方法可以赋给多个Button。
    在click()方法中可以针对Button的Id来做响应,参见上面的Tips。

  • 相关阅读:
    spring boot入门程序获取自定义配置文件内的参数并返回json数据的错误案例1
    MIME媒体类型
    浏览器重排和重绘——JavaScript之DOM性能优化
    ECMAScript 5 浏览器兼容性列表
    浏览器性能分析
    JS函数调用方式
    document.body is null
    动态JavaScript技术总结
    网站下载时间快慢带来的影响
    JavaScript好文推荐(持续更新)
  • 原文地址:https://www.cnblogs.com/Alex80/p/11349857.html
Copyright © 2011-2022 走看看