Android基于回调的事件处理
基于回调的事件处理模型更加简单:
如果说事件监听机制是一种委托式的事件处理,那么回调机制则恰好与之相反:对于基于回调的时间处理模型来说,事件源和事件监听器是统一的,或者说事件监听器完全消失了。当用户在GUI组件上激发某个事件时,组件自己特定的方法将会负责处理该事件
因此回调监听机制只需继承该组件,并重写该组件类的事件处理方法来实现
为了事件回调机制的事件处理,Android为所有GUI组件都提供了一些事件处理回调方法,以View为例:
Boolean onKeyDown(int keyCode,KeyEvent event);当用户在该组件上按下某个按键时触发该方法
boolean onKeyShortcut(int keyCode,KeyEvent event);当一个键盘快捷键事件发生时触发该方法
Boolean onKeyLongPress(int keyCode,KeyEvent event),当用户在该组件上长按某个按键时触发该方法
boolean onTouchEvent(int keyCode,KeyEvent event);当用户在该组件上触发触摸屏事件时触发该方法
...等等
MainActivity.java
public class MainActivity extends Activity
{@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent">
<!-- 使用自定义View时应使用全限定类名 -->
<org.crazyit.event.MyButton android:layout_width="match_parent" android:layout_height="wrap_content" android:text="单击我"/>
</LinearLayout>
MyButton.java
public class MyButton extends Button
{public MyButton(Context context, AttributeSet set){super(context, set);}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event){super.onKeyDown(keyCode, event);Log.v("-crazyit.org-", "the onKeyDown in MyButton");// 返回true,表明该事件不会向外扩散return true;}
}
Android基于回调的事件处理相关推荐
- Android移动开发之【通往安卓的神奇之旅】基于回调的事件处理
文章目录 1 Android中的事件处理方法 2 基于回调的事件处理机制详解 1 Android中的事件处理方法 事件处理:响应用户UI动作,提高应用程序交互性 1.基于监听的事件处理机制 2.基于回 ...
- Android——基于监听器的事件处理(转)
事件,我们并不陌生! 所有的基于UI的应用程序,事件都变得不可或缺!试想一下,如果我们做的程序单击按钮和其它控件都没有反应,那么就如同一个人在这个世界上听不到声音一样! Android为我们提供了两种 ...
- Android基于监听的事件处理机制
Android提供了强大的事件处理机制,主要包括两大类: 1,基于监听的事件处理机制:主要做法是为Android界面组件绑定特定的事件监听器 2,基于回调的事件处理机制:主要做法是重写Android组 ...
- 基于回调的观察者模式
文章目录 回调机制的简单的理解: 比较经典的回调方式: 示例 基于监听的事件处理 回调的简单理解 同步回调 异步回调函数 Java回调机制进阶 回调进阶(基于回调的"观察者"模式的 ...
- android事件处理主要方法,详解Android的两种事件处理机制
UI编程通常都会伴随事件处理,Android也不例外,它提供了两种方式的事件处理:基于回调的事件处理和基于监听器的事件处理. 对于基于监听器的事件处理而言,主要就是为Android界面组件绑定特定的事 ...
- Android基于环信SDK开发IM即时聊天(一)
2016-09-02更新:可以看一下最新的这篇文章和源码,Android基于环信SDK开发IM即时聊天(二) 目前市面上我了解的做第三方即时聊天SDK的有两家:环信.融云,这里我使用环信SDK来完成即 ...
- 「Android基于MQTT实现消息通知」
「Android基于MQTT实现消息通知」 一.写在前面 在对接项目中IoT时,发现目前有对MQTT做了接入,这里记录一下,官方的资料比较详细,这里主要从实现细节出发:对具体的需求以及配套的技术方案进 ...
- Android 基于libaums实现读写U盘文件
前言 还是我实习的时候,遇到个要求说要支持 USB,当时找了很多博客,最后这篇文章帮我解决了问题,想想自己也没有其他要补充的,就转载一下吧! 这篇博客用的第三方库只支持 FAT32 格式的 U盘,如果 ...
- Android 基于Zxing的扫码功能实现(二)
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 引言 本篇博文是基于 Android 二维码的扫码功能实现(一) 文章写的,建议阅读这篇文章之前,先看看上篇文章.还有建议阅读本文的 ...
最新文章
- EXTJS 常用控件的使用
- binaryoperator java_BinaryOperatorT接口的用法示例
- 数据库 oracle 设计三范式
- 印度首富之女大婚,贫穷限制了我的想象……
- Android使用HttpURLConnection下载图片
- 数据结构与算法---导论
- 二分法其实很简单,为什么老是写不对!!!
- IOS开发之数据库FMDB的使用
- 小甲鱼 python11讲作业
- 何为自动化测试?(纯干货)
- layui表格时间类型显示问题
- 实战录 | Spring中bean的生命周期
- C++面试之Linux操作系统
- HTTP/3 ,它来了。
- 元宇宙之XR(02)VR概念解读 分类说明
- 基本概念学习(7003)---网络流量
- 万柳少爷背后,大批有钱人正在自媒体上发着横财。
- 微信公众号开发系列-12、微信前端开发利器:WeUI
- html在不可编辑页面字段下沉,[Web前端技术教学]《基于Web标准的网页设计与制作》试题及答案...
- 最适合发朋友圈的句子
热门文章
- test_bit、set_bit和clear_bit
- 深度学习的数学 (6)误差反向传播法必需的链式法则
- Hyperledger Besu(3)“多用户架构”和“插件”
- 近世代数--多项式环--未定元的存在性
- 【Python小程序】这竟是2月14号情人节表白神器、成功率100%?(进来康康)
- Shell之while循环
- optee3.14.0 qemu_v8的环境搭建篇(ubuntu20.10)--终极篇
- 两种重要的图——Snapshot diagram UML diagram
- 想要求职Web安全相关的岗位,你就必须要懂的知识
- 4.WaitForSingleObject函数分析