一.匿名内部类

1.先找到那个控件(初始化)

private Button bt1;  //onCreate方法外

bt1 = (Button)findViewById(R.id.button1);

2.设置事件监听器

bt1.setOnClickListener(new OnClickListener(){

  public void onClick(View v){

      System.out.println("我的按钮被点击了");

  }

});

一.外部类监听点击事件

1.先找到那个控件(初始化)

private Button bt2;  //onCreate方法外

bt2 = (Button)findViewById(R.id.button2);

2.设置事件监听器

bt2.setOnClickListener(new MyOnClickListener(){

  public void onClick(View v){

      super.onClick(v);   //执行父类的onClick

      System.out.println("我的按钮被点击了");  //执行子类的onClick

  }

});

3.在另一个类中写父类的onClick方法

class MyOnClickListener implements OnClickListener{

  public void onClick(View v){

      v.setAlpha(0.5);  //设置透明的0.5

  }

}

//OnClickListener是一个接口

4.点击按钮后会执行服父类的onClick方法和子类的onClick方法,可以让多个按钮都执行相同的父类onClick方法

三.通过实现一个接口的方式实现监听事件

1.先找到那个控件(初始化)

private Button bt3;  //onCreate方法外

bt3 = (Button)findViewById(R.id.button3);

2.设置事件监听器

bt3.setOnClickListener(this);

3.让MainActivity.java类实现一个接口

public class MainActivity extends Activity implements OnClickListener{

}

4.在onCreate方法外实现这个接口的要求实现的方法

public void onClick(View v){

  System.out.println("第三种方法实现");

}

注意:

如果是多个控件都要设置事件监听器,那么就要用第三种实现一个接口来实现监听的方法,只需要一个onClick方法,在重写的onClick方法中再用switch来管理事件的触发,每个case都对应一个控件的id。

关于在Android中添加事件监听器的方法的更多相关文章

  1. Android 向系统日历中添加事件

    查了一天半,总算有点大概了.以下是自己的理解,有错误的地方望指正. android系统有日历功能,应用程序可以根据一些接口开发自己的功能,即使是日历app也是根据这些接口开发的,所以我们可以利用程序向 ...

  2. Android中的事件传递机制

    Android源码版本:API Level 19(Android 4.4) Android事件构成 在Android中,事件主要包括点按.长按.拖拽.滑动等,点按又包括单击和双击,另外还包括单指操作和 ...

  3. android中的事件传递和处理机制

    一直以来,都被android中的事件传递和处理机制深深的困扰!今天特意来好好的探讨一下.现在的感觉是,只要你理解到位,其实事件的 传递和处理机制并没有想象中的那么难.总之,不要自己打击自己,要相信自己 ...

  4. 给ul中的li添加事件的多种方法

    给ul中的li添加事件的多种方法 这是一个常见,而且典型的前端面试题 <ul> <li>11111</li> <li>22222</li> ...

  5. Android开发过程中在sh,py,mk文件中添加log信息的方法

    Android开发过程中在sh,py,mk文件中添加log信息的方法 在sh文件中: echo "this is a log info" + $info 在py文件中: print ...

  6. 一个demo让你彻底理解Android中触摸事件的分发

    注:本文涉及的demo的地址:https://github.com/absfree/TouchDispatch 1. 触摸动作及事件序列 (1)触摸事件的动作 触摸动作一共有三种:ACTION_DOW ...

  7. Android中添加自己的模块 【转】

    本文转载自:http://wallage.blog.163.com/blog/static/17389624201021791333695/ 转:http://blog.csdn.net/yili_x ...

  8. Android中的事件分发机制

    Android中的事件分发机制 作者:丁明祥 邮箱:2780087178@qq.com 这篇文章这周之内尽量写完 参考资料: Android事件分发机制完全解析,带你从源码的角度彻底理解(上) And ...

  9. 在html中添加script脚本的方法和注意事项

    在html中添加script脚本有两种方法,直接将javascript代码添加到html中与添加外部js文件,这两种方法都比较常用,大家可以根据自己需要自由选择 在html中添加<script& ...

随机推荐

  1. OAF_OAF控件系列7 - Tree的实现(案列)

    2014-06-02 Created By BaoXinjian

  2. lua学习笔记13:协程具体解释和举例

    一.coroutine.create创建协程 參数是协程的主函数,返回一个thread对象 co = coroutine.create(function() print("coroutine ...

  3. python标准库介绍——10 sys 模块详解

    ==sys 模块== ``sys`` 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. === 处理命令行参数=== 在解释器启动后, ``argv`` 列表包含了传递给脚本的所有 ...

  4. MATLAB(4)——图片保存方法汇总及常用指令

    作者:桂. 时间:2017-03-03  19:30:03 链接:http://www.cnblogs.com/xingshansi/p/6498318.html 前言 本文为MATLAB系列第四篇. ...

  5. 国际化模块 angular-translate 简单方便快捷翻译中英文等多语言环境

    很多web服务面对的不仅仅是当地用户,多语言环境不仅能提升逼格,更重要是一种用户体验. angular.js 作为前后端拆分的解决方案之一,当然离不开前端框架处理国际化的问题,angular.js 官 ...

  6. 在 IE 浏览器中,使用 bootstrap 使得页面滚动条浮动显示,自动隐藏,自动消失

    貌似是从 IE10 开始?为了触屏操作优化浏览器的内容显示,IE 浏览器提供了一种可以浮动显示,自动隐藏的滚动条样式,但是这个样式会在某些情况下造成一些困扰,比如下图... 其实默认情况下,桌面版的 ...

  7. man-pages项目包含文档的说明

    man-pages项目是由linux kernel维护的一个文档项目,但是,该项目中只是包含了部分常用文档,还有大量gnu常用系统工具的manpanges没有包含,但一些在线网站提供一个详细版本的ma ...

  8. js正则匹配中文

    alert(/[\u4e00-\u9fa5]{4}/.test("司徒正美"))//true alert(/[\u4e00-\u9fa5]{4}/.test("司正美&q ...

  9. C#解压或压缩文件夹

    这里主要解决文件夹包含文件夹的解压缩问题.1)下载SharpZipLib.dll,在http://www.icsharpcode.net/OpenSource /SharpZipLib/Downloa ...

  10. SQL server插入数据后,如何获取自增长字段的值?

    insert into Tb_People(uname,era,amount) values( '兆周','老年','10000') select @@identity --当运行完插入语句后,执行s ...