一.匿名内部类

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. android中ImageView的ScaleType属性

    android中ImageView的ScaleType属性 ScaleType的值分别代表的意义: ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleType,该 ...

  2. 线程模型、pthread 系列函数 和 简单多线程服务器端程序

    一.线程有3种模型,分别是N:1用户线程模型,1:1核心线程模型和N:M混合线程模型,posix thread属于1:1模型. (一).N:1用户线程模型 “线程实现”建立在“进程控制”机制之上,由用 ...

  3. Sql 列转行 三种方法对比

    合并列值   --******************************************************************************************* ...

  4. Action中如何通过@Autowired自动注入spring bean ?

    1.讲Action纳入spring的IOC控制 <!-- 采用注解方式自动扫描装配 --> <context:component-scan base-package="co ...

  5. Linux操作系统CentOS7.2发行版本的安装与配置(安装是选择服务器类型)

    原文地址:http://1130739.blog.51cto.com/1120739/1738791 由于CentOS 7出来不久,对于这个版本的系统安装与配置的教程较少,今天就索性介绍一下CentO ...

  6. 前端开发中Cookie那些事儿

    前段时间做了项目,在前端实现中频繁的操作cookie,记录几点供大家参考! cookie操作在前端开发过程中经常遇到,当然如果只是用来存储一些简单用户数据,还是比较简单的,我们要做的可能只是设置coo ...

  7. bazel-编译静态库

    demo3 使用bazel编译静态库 demo3目录树 ├── README.md ├── static │ ├── BUILD │ ├── static.c │ └── static.h └── W ...

  8. python学习之__new__()

    这里我从str类的__new__()方法来说明. str的__new__(cls,*args)必须传入一个参数cls,他是str的子类(注意不是实例). __new__()的返回值是该子类的实例,表现 ...

  9. SharePoint自动化系列——Upload files to SharePoint library using PowerShell.

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 日常的SharePoint站点测试中,我们经常要做各种各样的数据,今天又写了几个脚本,发现自己写的 ...

  10. iOS播放系统声音和震动

    在需要声音的类的.h文件中添加     #import <AudioToolbox/AudioToolbox.h>static SystemSoundID shake_sound_male ...