你的位置:首页 > 软件开发 > 操作系统 > 事件监听:诀别Android繁琐的事件注册机制——view.setOnXXXXListener 滚犊子

事件监听:诀别Android繁琐的事件注册机制——view.setOnXXXXListener 滚犊子

发布时间:2015-12-24 22:00:22
好久没写过随笔了......windows phone生态没起来,属于.net阵营的我最近工作不是太忙,闲暇之余就心血来潮开始研究安卓。先简单扯两句这几天学习下来对java事件监听机制的一点感触。客观地讲,java的事件监听机制相比.net好原始,暂不说委托、lamda、泛型等的 ...

事件监听:诀别Android繁琐的事件注册机制——view.setOnXXXXListener 滚犊子

  好久没写过随笔了......windows phone生态没起来,属于.net阵营的我最近工作不是太忙,闲暇之余就心血来潮开始研究安卓。先简单扯两句这几天学习下来对java事件监听机制的一点感触。客观地讲,java的事件监听机制相比.net好原始,暂不说委托、lamda、泛型等的繁琐,仅一个事件监听,就需要各种listener才能实现,比如安卓里到处都是view.setOnXXXXListener。被C#“语法糖”和宇宙第一IDE惯坏的我真心有点不习惯,于是就决定写个工具来封装这些烦人的listener。开始切入正题。

  1. 目标
  2. 成果
  3. 实现概况
  4. 具体实现及代码
  5. 总结

一、目标

  摆脱安卓里各种listener的繁琐,像写一般的方法似的写各种事件。

二、成果

  只要写一个类(这里以MainActivityEvent命名的类为例)继承EventManager,然后在对应的MainActivity里的onCreate方法里初始化这个类(new MainActivityEvent(this))即可完成注册。剩下的就只需要在MainActivityEvent类里写对应的事件响应逻辑就可以了。

三、实现概况

   3.1 MainActivity里注册。

    事件监听:诀别Android繁琐的事件注册机制——view.setOnXXXXListener 滚犊子

  3.2 MainActivityEvent的实现。

    事件监听:诀别Android繁琐的事件注册机制——view.setOnXXXXListener 滚犊子

  3.3 封装的相关类型。

    事件监听:诀别Android繁琐的事件注册机制——view.setOnXXXXListener 滚犊子

四、具体实现及代码

   4.1 EventType.java

    事件监听:诀别Android繁琐的事件注册机制——view.setOnXXXXListener 滚犊子事件监听:诀别Android繁琐的事件注册机制——view.setOnXXXXListener 滚犊子
package com.example.personal.events;/** * Event type. */public enum EventType {  /**   * signature: (View v, int keyCode, KeyEvent event)   * return: boolean.   */  OnKey,  /**   * signature: (View v, MotionEvent event)   * return: boolean.   */  OnTouch,  /**   * signature: (View v, MotionEvent event)   * return: boolean.   */  OnHover,  /**   * signature: (View v, MotionEvent event)   * return: boolean.   */  OnGenericMotion,  /**   * signature: (View v)   * return: boolean.   */  OnLongClick,  /**   * signature: (View v, DragEvent event)   * return: boolean.   */  OnDrag,  /**   * signature: (View v, boolean hasFocus)   * return: void.   */  OnFocusChange,  /**   * signature: (View v)   * return: void.   */  OnClick,  /**   * signature: (ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)   * return: void.   */  OnCreateContextMenu,    //TODO: Not supported for api version issues or other special reasons.//  /**//   * signature: (View v)//   *///  OnViewAttachedToWindow,//  /**//   * signature: (View v)//   *///  OnViewDetachedFromWindow,//  /**//   * signature: (View v)//   *///  OnContextClick,//  /**//   * signature: (int visibility)//   *///  OnSystemUiVisibilityChange}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:事件监听:诀别Android繁琐的事件注册机制——view.setOnXXXXListener 滚犊子

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录