在基于事件的处理模型中,事件监听器必须实现事件监听器接口,Android为不同的界面组件提供了不同的监听器接口,这些接口通常以内部类的形式存在,例如View类包含了如下接口:
- View.OnClickListener:单击事件
- View.OnCreateContextMenuListener:创建上下文菜单事件
- View.OnFocusChangeListener:焦点改变事件
- View.OnKeyListener:按键事件
- View.OnLongClickListener:长单击事件
- View.OnTouchListener:触摸屏事件
- 内部类形式:将事件监听器类定义为当前类的内部类,可以在当前类中复用该监听器;
- 外部类形式:将事件监听器定义成一个外部类;
- Activity本身作为事件监听器类:让Activity本身实现监听器接口,并实现事件处理方法;
- 匿名类形式:使用匿名内部类创建事件监听器,大部分事件监听器都是临时使用一次,没什么复用价值,所以这种形式的监听器比较常见。“new 监听器接口/事件适配器”
- 直接绑定到标签:在布局文件,控件的属性中定义,例如:android:onClick = "clickHandler",为控件绑定了一个单击事件处理方法clickHandler,开发者就需要在对应的ativity中定义一个clickHandler方法