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

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

    以上

  • 相关阅读:
    Linux 安装 jdk 后 jps 出现问题/usr/jdk1.8.0_151/bin/jps: /lib/ld-linux.so.2: bad ELF interpreter: No such
    Jackson 注解
    Git 右键添加Git Bash
    No validator could be found for constraint
    rror querying database. Cause: java.sql.SQLException: null, message from server: "Host '192.168.30.1' is not allowed to connect to this MySQL server"
    Linux 安装 Mysql-5.7.23-linux-glibc2
    Promise
    PAT(B) 1094 谷歌的招聘(Java)
    PAT(B) 1074 宇宙无敌加法器(Java)
    PAT(B) 1078 字符串压缩与解压(Java)
  • 原文地址:https://www.cnblogs.com/shuhaoz/p/4394142.html
Copyright © 2011-2022 走看看