跟我学android之四 事件驱动模型

视频课:https://edu.csdn.net/course/play/7621

Android事件驱动模型需要深刻学习和理解,事件驱动模型三要素如下:

事件驱动模型

事件源:事件的制造者,如:按钮

通常会拥有注册和取消监听器的功能

监听器:事件的接收者,通常是自己编写的类的对象

一个实现了事件源所支持的事件接口的类

事件:事件源产生的某一个具体事件

一个事件源可以产生多种事件

一个监听器可以接收多个事件

事件的处理程序通常位于监听器内部

事件驱动模型
工作步骤 
1、定义监听器,为每一个事件编写处理方法 
2、将监听器对象注册给事件源 
3、事件源发生某个事件时调用监听器中对应的方法完成事件处理 


内部类形式:内部类就是在一个类的内部定义另外一个类,使用内部类来定义事件监听器类

class btnListener1 implements View.OnClickListener{		@Override		public void onClick(View arg0) {			tv1.setText("你按到我了!");		}}


监听器通常采用Java匿名类来实现 
匿名类的定义与对象创建同时发生 
具体定义格式如下: 


使用Activity本身作为监听器类
缺点:这种形式可能埴成程序结构混乱

public class MainActivity extends Activity implements View.OnClickListener{	……}

为控件植入事件的步骤: 
1:确定事件源,比如说是按钮
2:明确要监听的事件,Android中通常是一个监听器处理一个事件

3:通过匿名类编写监听器,同时注册监听器

//找到事件源对象Button btn = (Button)findViewById(R.id.okbtn);//注册监听器btn.setonClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Log.d("tip", "button clicked");}});

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...