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

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() {
        @Override
        public void onClick(View v) {
                Log.d("tip", "button clicked");
        }
});

时间: 2024-10-26 11:27:45

跟我学android之四 事件驱动模型的相关文章

Spring基于事件驱动模型的订阅发布模式代码实例详解

代码下载地址:http://www.zuidaima.com/share/1791499571923968.htm 原文:Spring基于事件驱动模型的订阅发布模式代码实例详解 事件驱动模型简介 事件驱动模型也就是我们常说的观察者,或者发布-订阅模型:理解它的几个关键点: 首先是一种对象间的一对多的关系:最简单的如交通信号灯,信号灯是目标(一方),行人注视着信号灯(多方): 当目标发送改变(发布),观察者(订阅者)就可以接收到改变: 观察者如何处理(如行人如何走,是快走/慢走/不走,目标不会管的

学Android开发 这19个开发工具助你顺风顺水

学Android开发 这19个开发工具助你顺风顺水 要想快速开发一个Android应用,通常会用到很多工具,巧妙利用这些工具,能让我们的开发工作事半功倍,节省大量时间,下面大连Android开发培训小编就为大家介绍下这19个开发工具都有神马用途. 1.XAppDbg XAppDbg是一个可以在运行中改变代码中参数的一个应用开发工具.这个工具可以为你省下大量的时间,因为你不用为应用的每次小改变而重新编译运行你的程序. 2.ChkBugReport 这个工具可以快速地检查输出的Android错误报告

事件驱动模型。。。。有时间弄

public class A{ private Vector aListeners = new Vector(); private int value; public int getValue(){ return value; } public void setValue(int newValue){ if(value!=newValue){ value = newValue; AEvent evt= new AEvent(this,value); //如果值改变的话,就触发事件 fireAEv

11.python并发入门(part13 了解事件驱动模型))

一.事件驱动模型的引入. 在引入事件驱动模型之前,首先来回顾一下传统的流水线式编程. 开始--->代码块A--->代码块B--->代码块C--->代码块D--->......--->结束 每一个代码块里是完成各种各样事情的代码,但编程者知道代码块A,B,C,D...的执行顺序,唯一能够改变这个流程的是数据.输入不同的数据,根据条件语句判断,流程或许就改为A--->C--->E...--->结束.每一次程序运行顺序或许都不同,但它的控制流程是由输入数据和

一起学android之利用回调函数onCreateDialog实现加载对话框(23)

效果图: 有时候我们需要去做一个Activity启动时的数据加载对话框,关于对话框的各种实现可以通过一起学android之对话框 Dialog的创建(7)来完成,在这里另外介绍一个,利用onCreateDialog回调方法来实现,当然这个方法标记已经过 时了,但我们还是可以使用这个方法来实现我们想要的功能.具体请参看代码: public class MainActivity extends Activity { @SuppressWarnings("deprecation") @Ove

从零开始学android<android事件的处理方式.二十四.>

在android中一共有 多种事件,每种事件都有自己相对应的处理机制 如以下几种 1 单击事件 View.OnClickListener public abstract void onClick (View v) 单击组件时触发 2 单击事件 View.OnLongClickListener public abstract boolean onLongClick (View v) 长按组件时触发 3 键盘事件 View.OnKeyListener public abstract boolean

从零开始学android<RatingBar评分组件.二十三.>

如果现在用户要对某个应用程序打分往往会使用图所示的组件,通过选择的"五角星"的个数来决定最终的打分成绩 这样的功能在Android之中,可以使用RatingBar组件实现,使用此组件可以方便用户的输入,而且很直观,RatingBar类的定义结构如下: java.lang.Object ? android.view.View ? android.widget.ProgressBar ? android.widget.AbsSeekBar ? android.widget.RatingBa

从零开始学android<AutoCompleteTextView随笔提示文本框.十九.>

随笔提示功能可以很好的帮助用户进行方便的信息输入,而在Android之中也提供了与之类似的功能,而这个功能的实现就需要依靠android.widget.AutoCompleteTextView类完成,此类的继承结构如下: java.lang.Object ? android.view.View ? android.widget.TextView ? android.widget.EditText ? android.widget.AutoCompleteTextView No. 方法 类型 描述

从零开始学android<使用嵌套布局实现计算器界面.十七.>

所谓的嵌套布局就是在一个文件中嵌套多个布局文件 <span style="font-size:18px;"> <LinearLayout android:layout_width="match_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:layou