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

方法主要有三种:

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. 表单配置项写法,表单写成JSON数组套对象,一行是一个数组单位,一列是一个对象单位,然后再写一个公共组件读取这个配置,循环加载slot,外层载入slot的自定义部分,比如input select等,这种写法就是把组件嵌套改为配置方式

    表单配置项写法,表单写成JSON数组套对象,一行是一个数组单位,一列是一个对象单位,然后再写一个公共组件读取这个配置,循环加载slot,外层载入slot的自定义部分,比如input select等,这 ...

  2. Rational Rose 2007破解版

    首先下载好软件,链接在这里 链接:https://pan.baidu.com/s/1op-W-ZX1tqefHffs3m-r0A 提取码:0jwm 这里面包含了Rational Rose 2007版的 ...

  3. pytorch RNN层api的几个参数说明

    classtorch.nn.RNN(*args, **kwargs) input_size – The number of expected features in the input x hidde ...

  4. Natas21 Writeup(共用session、session注入)

    Natas21: 第一个网页 第二个网页 提示http://natas21.natas.labs.overthewire.org/页面和http://natas21-experimenter.nata ...

  5. 贵州省网络安全知识竞赛团体赛Writeup-phpweb部分

    0x01 混淆后门#conn.php 首先还是拖到D盾扫描 打开conn.php发现底部有那么一串代码: 对这个代码进行分析 首先可以对几个比较简单的变量输出看一下 $s输出内容为create_fun ...

  6. vue 拖拽框架 draggable

    直接使用  npm i -S vuedraggable  页面使用 <template> <div class="addProduct"> <el-d ...

  7. go micro实战01:快速搭建服务

    背景 go-micro给我们提供了一个非常便捷的方式来快速搭建微服务,而且并不需要提前系统了解micro,下面用一个简单的示例来快速实现一个服务. 创建Proto文件 因为我们要做微服务,那么就一定有 ...

  8. vue你真棒

    引子:什么是前后端分离和前后端不分离? 前后端分离指的是后端开发人员只负责用来书写后端逻辑代码,不用再去管前端页面的搭建,前端人员只负责做好前端页面效果,不用管数据,数据直接向后端人员要,后端和前端通 ...

  9. 【2020-03-28】Dubbo源码杂谈

    前言 本周空闲时间利用了百分之六七十的样子.主要将Dubbo官网文档和本地代码debug结合起来学习,基本看完了服务导出.服务引入以及服务调用的过程,暂未涉及路由.字典等功能.下面对这一周的收获进行一 ...

  10. 【Code Force】Round #589 (Div. 2) D、Complete Tripartite

    题目链接 大致题意 把一个图分成三块,要求任意两块之间是完全图,块内部没有连线 分析 首先根据块内没有连线可以直接分成两块 假定点1是属于块1的,那么所有与点1连接的点,都不属于块1:反之则是块1的 ...