Android事件处理模型之---基于监听接口

当用户与应用程序交互时,一定是通过触发某些事件来完成的,让事件来通知应用程序应该执行哪些操作。

一、涉及对象

 A、事件源(Event Source):指事件所发生的控件,如按钮、文本框等

 B、事件(Event):事件类型。监听器若想获得界面组件上所发生的事件信息,通过Event对象表达

 C、事件监听器(Event Listener):用来处理事件的对象。实现了特定的接口。

二、事件处理过程一般分为三部分:

 A、为事件源对象添加监听。当某个事件被触发时,系统才会知道通知谁来处理该事件。

 B、当事件发生时,系统会将事件封装成相应类型的事件对象,并发送给注册到事件源的事件监听器

 C、当监听器对象接收到事件对象之后,系统会调用监听器中相应的事件处理方法来处理事件并给出响应

 三、接口:

 a. OnClickListener接口:

 1)  该接口处理的是点击事件。在触摸模式下,是在某个View上按下并抬起的组合动作;在键盘模式下,是某个View获得焦点后单击确定或则按下轨迹球事件。

 2)  该接口对应的回调方法为:public void onClick(View view)

 b. OnLongClickListener接口:

 1)  该接口为View长按事件的捕捉接口,即当长时间按下某个View时触发的事件。

 2)  该接口对应的回调方法为:public boolean onLongClick(View view)

 3)  返回值是boolean类型。当值为true,表示已经完整地处理了这个事件,并不希望其他的回调方法再次进行处理。为false时,反之。

 c. OnFocusChangeListener接口:

 1)  该接口用来处理控件焦点发生改变的事件。

 2)  该接口对应的回调方法为:public void onFocusChange(View view,Boolean hasFocus)

 3)  参数:

 a. view:表示触发该事件的事件源

 b. hasFocus:表示view是否获得焦点

 d. OnKeyListener接口:

 1)  该接口是对手机键盘进行监听的接口。

 2)  该接口对应的回调方法为:public void onKey(View view,int keyCode,KeyEvent  event)

 3)  参数:

 a. view:表示触发该事件的事件源

 b. keyCode:为手机键盘码

 c. event:为键盘事件封装类的对象,包含事件的详细信息,如发生的事件及类型等。

 Android keycode键值对应:点击打开链接

 e. OnTouchListener接口:

 1)  该接口是用来处理手机屏幕事件的监听接口。在View大范围内触摸下、抬起或滑动等动作都会触发该事件。

 2)  该接口对应的回调方法为:public boolean onTouch(View view,MotionEvent event)

 3)  参数:

 a. view:表示触发该事件的事件源

 b. event:为事件封装类的对象,其中封装了触发事件的详细信息,包括事件的类型、触发事件等信息。

 f. OnCreateContextMenuListener接口:

 1)  该接口是用来处理上下文菜单显示时间的监听接口。是定义和注册上下文菜单的另一种方式。

 2)  该接口对应的回调方法为:public void onCreateContextMenu(ContextMenu menu,View view,ContextMenuInfo info)

  3)  参数:

 a. menu:为事件的上下文菜单

 b. view:事件源View,当View获得焦点时才可能接收该方法的事件响应

 c. info:封装了有关上下文菜单额外的信息。


你可能感兴趣的:(Android事件处理模型之---基于监听接口)