今天主要学习了监听事件的是实现方法,就是说,做了某些动作后,怎么监听这个动作并作出相应反应。

方法主要有三种:

1.匿名内部类的方法

2.独立类的方法

3.类似实现接口的方法

以下分别分析:

1.匿名内部类的方法

就是使用innerClass的方式创建监听事件

步骤如下:

  1)创建一个button,在xml中拖入一个button即可

  2)在源程序中对button进行初始化

  

   就是,先创建一个button btn,然后使用findViewById找到你之前的那个button进行关联,此时请注意findViewById返回值为View,所以此处我们将他转换为Button(Button为View子类)

  3)通过setOnClickListener设置监听

2.通过独立类的方式

  1)创建一个button,在xml中拖入一个button即可

  2)在源程序中对button进行初始化

  3)创建一个外部类,implement OnClickListener的接口

  

  这里我对这个类做的统一操作是将字体颜色转化成白色

  4)像实现匿名类那样实现独立类

  

  这里需要注意,在OnClick方法中有一句Super.onClick(arg0);

  这一句的意思是调用父类的onClick方法,而这里的父类就是MyOnClickListener,所以在执行过程中,会先调用父类的方法将文本颜色变为白色,然后改编文本内容

  所以这里,我们就可以发现独立类的优势,他可以将共同的操作写入父类,特殊的操作在调用时编写,减少代码量

3.接口方式

  1)创建一个button,在xml中拖入一个button即可

  2)在源程序中对button进行初始化

  3)对主类implements OnClickListener

  

  此时会自动生成一个用以实现接口的方法onClick

  4)类似,使用this指针来调用这个方法

  btn.setOnClickListener(this);

  相比之下,这种方法最简单,但是当你要实现的接口很多时,主类名字太长,太丑

以上

安卓开发学习日记 DAY5——监听事件onClick的实现方法的更多相关文章

  1. Android成长日记-Android监听事件的方法

    1. Button鼠标点击的监听事件 --setOnClickListener 2. CheckBox, ToggleButton , RadioGroup的改变事件 --setOnCheckedCh ...

  2. miniui 给表格行添加监听事件的几种方法以及点击某列列名数据不能排序的问题

    最近在使用miniui框架做开发,在做表格行的点击监听事件中发现了几个属性,都可以起到监听效果但是执行的结果却大有不同.好了废话不多说,直接上代码. <div id="pageGrid ...

  3. Second Day: 关于Button监听事件的三种方法(匿名类、外部类、继承接口)

    第一种:通过匿名类实现对Button事件的监听 首先在XML文件中拖入一个Button按钮,并设好ID,其次在主文件.java中进行控件初始化(Private声明),随后通过SetOnClickLis ...

  4. Android开发入门——Button绑定监听事件三种方式

    import android.app.Activity; import android.os.Bundle;import android.view.View;import android.widget ...

  5. 安卓开发学习日记 DAY1

    1.eclipse安装,很简单 2.安卓sdk manager 下载安装 sdk manager是一个安卓开发所使用的sdk文件的管理程序,可以使用这个程序在官网上下载相应的安卓的api等.因为需要在 ...

  6. 安卓开发学习日记 DAY3——TextView,EditView,ImageView

    今天学习了一些控件的使用方法,包括TextView,EditView,ImageView 1.TextView,输出一个文本呗 主要属性有 android:id 标志 android:layout_w ...

  7. 安卓开发学习日记 DAY2——android项目文件

    当一个android项目建立时,会有一个目录,以下为目录所包含内容 src:放置java源代码 gen:基本不会做任何更改,放置自动生成的配置文件(主要是R文件) Android4.4.2:放置当前版 ...

  8. 安卓开发学习日记 DAY4——Button,ImageButton

    Button与ImageButton基本类似 也有类似于TextView和ImageView的区别 这里需要注意的是: 在你定义text属性的内容时,最好是在Values文件下的String.xml中 ...

  9. Android 给按钮添加监听事件

    在安卓开发中,如果要给一个按钮添加监听事件的话,有以下三种实现方式 1.方式一 public class MainActivity extends ActionBarActivity { @Overr ...

随机推荐

  1. 基于 HTML5 WebGL 的发动机 3D 可视化系统

    前言     工业机械产品大多体积庞大.运输成本高,在参加行业展会或向海外客户销售时,如果没有实物展示,仅凭静态.简单的图片说明书介绍,无法让客户全面了解产品,不仅工作人员制作麻烦,客户看得也费力.如 ...

  2. (转)嵌入式linux系统开发过程中遇到的——volatile

    原文地址:http://blog.csdn.net/HumorRat/article/details/5631023 对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的.如果系统结构支持 ...

  3. 前端构建工具gulpjs的使用介绍及技巧【转载】

    转载至:http://www.cnblogs.com/2050/p/4198792.html gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常 ...

  4. cat、head、sed 三盟友

    在linux 中我们必不可少的会使用到这三个命令 他们有什么作用呢? 就是查看文档了,但他的功能远不止于此 来我们学习一下吧 cat [root@ESProbe ~]# cat --help Usag ...

  5. 快速上手项目远程团队协作--CODING(新手向)

    快速上手项目远程团队协作--CODING(新手向) CODING网址:https://e.coding.net/signin 前言:之前用过github,用过微软的Azure协作(https://az ...

  6. 你不一定知道的UrlPrefix路由规则

    引言 接上文,容器内web程序一般会绑定到http://0.0.0.0:{某监听端口}或http://+:{某监听端口},以确保使用容器IP可以访问到web应用. 正如我们在ASP.NET Core官 ...

  7. SpringMVC框架——数据绑定

    Spring MVC 数据绑定 使用POJO绑定参数 entity package com.sunjian.entity; /** * @author sunjian * @date 2020/3/1 ...

  8. Eclipse新建项目介绍

    最近在用Eclipse,对于一个新手来说,新建项目时出现五花八门的名字,该选择哪个进行创建呢?今天小编抱着学习的态度,顺便整理分享给大家. 选择File->New->Project...  ...

  9. python打包为exe文件

    1.安装 pyinstaller 包 pip3 install pyinstaller 2.进入python文件目录 进入Python程序文件夹py文件处,按住shift并且右键,在弹出的选项中点击& ...

  10. python浅学【网络服务中间件】之Memcached

    一.缓存的由来: 提升性能 绝大多数情况下,select 是出现性能问题最大的地方.一方面,select 会有很多像 join.group.order.like 等这样丰富的语义,而这些语义是非常耗性 ...