一、Android事件处理的概述:
(一)、概念:
在Android中,我们可以通过事件处理使UI与用户互动(UI Events)。具体形式则是以事件监听器(event listener)的方式來“监听”用户的动作。
Android提供了非常良好的UI事件处理机制。View是绘制UI的类,每个View对象都可以向Android注册一个事件监听器。每个事件监听器都包含一个回调方法(callback method),这个回调方法(callback method)主要的工作就是回应或处理用户的操作。
(二)、Android UI事件处理的两套机制:
1、基于监听和回调的事件处理机制(event listener):
就是为Android中的控件绑定特定的事件监听器。一旦该控件监听到有相应的动作发生,则该动作会触发事件监听器,而该监听器会调用内部的回调方法做出相应的响应。事件监听器的核心就是它内部包含的回调方法。
2、另外一种UI事件的机制为事件处理器(event handler):event handler与event listener是不一样的处理机制。后续课程中会讲到多线程的Handler、Looper消息传递机制。
(三)、Android种常用的事件监听器及其回调方法(callback method):
View.OnClickListener : onClick() 单击事件
View.OnLongClickListener : onLongClick() 长按事件
View.OnFocusChangeListener : onFocusChange() 焦点改变事件
View.OnKeyListener : onKey() 按键监听事件
View.OnTouchListener : onTouch() 触摸屏事件
View.OnCreateContextMenuListener : onCreateContextMenu() 创建上下文菜单事件
【备注:】事件监听类:
RadioGroup.OnCheckedChangeListener 单选按钮组的勾选项改变监听器
CompoundButton.OnCheckedChangeListener 多选框勾选项改变监听器
AdapterView.OnItemSelectedListener 下拉列表框条目被选中监听器
AdapterView.OnItemClickListener ListView的条目单击监听器
AdapterView.OnItemClickListener GridView的条目单击监听器
DatePicker.OnDateChangedListener DatePicker的日期改变监听器
TimePicker.OnTimeChangedListener TimePickerkon
AbsListView.OnScrollListener ListView的滑动监听器
ViewPager.OnPageChangeListener
TabHost.OnTabChangeListener
SearchView.OnQueryTextListener
SeekBar.OnSeekBarChangeListener
RatingBar.OnRatingBarChangeListener
ActionBar.OnNavigationListener
ActionBar.TabListener
【备注:】其实事件监听器,就是实现了一个特定接口的Java类的实例。
实现事件监听器有几种形式:
1、内部类形式;
2、外部类形式;
3、Activity实现监听器接口,自身作为事件监听器类;
4、匿名内部类的形式创建事件监听器,并实现监听器内的方法。(Android开发中常用匿名内部类作为监听器)