zoukankan      html  css  js  c++  java
  • 安卓开发学习日记 DAY5——监听事件onClick的实现方法

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

    方法主要有三种:

    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);

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

    以上

  • 相关阅读:
    【JS】js获得下拉列表选中项的值和id
    【Java】Java处理double相加的结果异常
    【JSP】弹出带输入框可 确认密码 对话框
    【MySQL】Java对SQL时间类型的操作(获得当前、昨天、前年。。时间)
    【MySQL】通过select语句把一列数据拼接成一条字符串
    【JSP】JSP向MySQL写入|读出中文数据——乱码问题
    【CSS】使用CSS改变超链接样式
    【JSP】三种弹出对话框的用法实例
    【JSP】<meta>标签用法
    【Mysql】安装 mysql-5.7.5 指南
  • 原文地址:https://www.cnblogs.com/shuhaoz/p/4394142.html
Copyright © 2011-2022 走看看