幸运快三 > 数码 > android

为按钮注册事件响应&Android的四种事件响应注册方式

Android的四种事件响应注册方式,在Adroid开发过程中,处理事件响应是必不可少的,本篇小编给大家介绍四种事件响应监听方式。

在Android开发过程中,处理事件响应是必不可少的,本篇小编给大家介绍四种事件响应监听方式。

工具/原料

  • 操作系统:win 8
  • 工具:adt-bundle-windows-x86_64-20130917

前提说明

  1. 1

    本篇经验以响应点击按钮事件,改变文本框的字符为例;

    Android的四种事件响应注册方式步骤阅读
  2. 2

    在eclipse中创建Android项目的过程在这里就不赘述了,本篇直接讲事件响应的方法;

    END

方法一:XML属性方式

  1. 1

    通过名字我们可以猜到这种方式就是在xml文件中写监听事件,也就是加一个onClick属性,比如本例中,在xml文件中设置Button属性时,加一句【android:onClick="click"】;

    Android的四种事件响应注册方式步骤阅读
  2. 2

    需要说明的是,属性android:onClick的值就是实现事件响应的函数,比如此处值为click,那么你在MainActivity中实现事件响应时,函数的名字也必须和这个值相同,否则出错;

    所以在MainActivity中实现部分的代码如图:

    Android的四种事件响应注册方式步骤阅读
  3. 3

    看一下程序运行的结果;

    Android的四种事件响应注册方式步骤阅读
    END

方法二:实现OnClickListener接口

  1. 1

    这种方法一般学过Java的同学都应该熟悉,这是在Java中实现事件响应的常用方法,同样在Android中也适用;

    如图,首先让MainActivity实现OnClickListener接口;

    Android的四种事件响应注册方式步骤阅读
  2. 2

    我们会看到MainActivity有红色的下划曲线,是因为没有添加实现接口的方法,将鼠标移动到MainActivity中,然后点击【Add unimplements methods】,添加未实现的方法;

    Android的四种事件响应注册方式步骤阅读
  3. 3

    添加完成后,我们只需要在方法中写实现的功能就可以了;

    Android的四种事件响应注册方式步骤阅读
  4. 4

    最后重要的一步,就是给按钮添加监听事件,我们刚才做的工作也是实现了事件监听这个方法,但是如果想让按钮有事件监听,就必须给按钮添加上实现监听;如果不写这句代码肯定不能实现功能,如图:

    Android的四种事件响应注册方式步骤阅读
  5. 5

    看一下效果:

    Android的四种事件响应注册方式步骤阅读
    END

方法三:内部类

  1. 1

    其实我自己感觉与内部类这个概念没多大关系,只是用了一个这样的形式;和第二种方法差不多;

    首先在MainActivity中定义一个类,比如BtnListener,然后让这个类实现OnClickListener接口;如图:

    Android的四种事件响应注册方式步骤阅读
  2. 2

    然后添加未实现的方法,在方法中写实现功能的代码,和方法二相同;

    Android的四种事件响应注册方式步骤阅读
  3. 3

    最后重要的一步,给按钮添加注册事件;

    这种方法其实和方法二差不多,只不过表示不同;

    Android的四种事件响应注册方式步骤阅读
  4. 4

    看一下结果:

    Android的四种事件响应注册方式步骤阅读
    END

方法四

  1. 1

    小编忘记叫啥名字了,但是在Java代码中也经常用,就是直接new 接口,然后写方法;代码如图:

    Android的四种事件响应注册方式步骤阅读
  2. 2

    由代码我们可以看出这种方法是直接给按钮添加事件监听事件,我们使用内部类时,new的是我们的内部类,而这个直接new的接口,和方法三相似;但如果需要许多监听事件时,不建议使用这种方法,因为每个事件都需要写这几行代码,累赘;

    Android的四种事件响应注册方式步骤阅读
  3. 3

    看一下效果:

    Android的四种事件响应注册方式步骤阅读
    END

本文来自投稿,不代表幸运快三立场,转载请注明出处:http://www.morucat.com/digital/3727.html