当用户与应用程序交互时,一定是通过触发某些事件来完成的,让事件来通知应用程序应该执行哪些操作。
一、涉及对象
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:封装了有关上下文菜单额外的信息。