/** * android 事件处理机制 * 1 基于监听的时间处理机制 * 事件源(组件)---》事件(触屏,点击等)---》时间监听器(完成具体的操作) * * view的事件监听器接口 * OnClickListener OnLongClickListener OnKetListener OnTouchListener OnCreateContextMenuListner onFocusChangeListener * * 事件监听器的实现 * 内部类 类中复用,一个监听器绑定到多个组件 * 外部类 多个类服用,但是一般监听器都是针对特定的对象,而且代码可能造成混乱 * 匿名类 监听器最常用的方式,直接为特定的组件所需要完成的特定的功能而创建 * Activity本身为监听器对象 Tab分页之类的 * 直接在XML中绑定到View对象 只能绑定onClick监听器 * * Handler * 1 在新启动的线程中发送消息 * 2 在主线程中获取 处理消息 * * 注:Android UI线程主要负责按键时间,触屏事件,绘制事件等,其它操作,特别是耗时操作不应该放在UI事件之中 * * 2 基于回调的事件处理机制 * * 事件源和事件监听器是统一的 * 当用户在GUI上激发某个事件时,组件自己特定的方法会处理该事件 * * 回调函数 * onKeyDown onKeyLongPress onKeyShortCut onKeyUp onTouchEevent onTrackBallEvent * * 基于回调的事件处理机制,自定义View实现 * 基于回调的事件传播,返回true表示完全处理,返回false则该事件会传播出去,则可能触发该事件的activity的回调方法 * * 如果Activity的回调方法 , 事件的回调方法 , 事件监听器三者都存在 ,则调用顺序为 * 事件监听器--》》事件的回调方法--》》Activity的回调方法 * */