自己定义对象的监听方式


问题描写叙述:

当一个事件的触发不定期的时候,即我们不知道这个触发何时来到,可是我们却要对这个触发运行某些方法,怎样实现?

可能的解决方式:

我当时就想到了,这个问题类似与Android的部件监听(我没有去看Android的源代码,太懒了。。。)。因为如今还在研读Thinking in Java这样的入门书籍,突然来了想法,罗列例如以下,能够通过接口。

以下是我写的一个測试的样例

首先是一个类似Button的部件

package com.example.androidtest2.service;

/**
 * 这个类相似于Button这种部件
 * @author qingxiangzhang
 *
 */
public class XXComonent {

	public static void setOnClickListener(XXXComponentClickListener clickListener){

		for(int i=0; i<5;i++)
			clickListener.xxxxComponentClickResponse(i);

	}
}

然后是这个部件的监听方法

package com.example.androidtest2.service;

/**
 * 这个类相似于Button的setOnClickListener方法
 * @author qingxiangzhang
 *
 */
public interface XXXComponentClickListener {
	public void xxxxComponentClickResponse(int i);
}

最后是怎样来获得 这个 部件点击触发的响应,我们来打印出上面输入的0-5

XXComonent.setOnClickListener(new XXXComponentClickListener() {

						@Override
						public void xxxxComponentClickResponse(int i) {
							Log.e("点击事件的触发", String.valueOf(i));
						}
					});

OK, 问题攻克了,如今我想去翻看Android源代码了。

自己定义对象的监听方式,布布扣,bubuko.com

时间: 2024-11-08 19:22:24

自己定义对象的监听方式的相关文章

自定义对象的监听方式

问题描述: 当一个事件的触发不定期的时候,即我们不知道这个触发何时来到,但是我们却要对这个触发执行某些方法,如何实现? 可能的解决方案: 我当时就想到了,这个问题类似与Android的部件监听(我没有去看Android的源码,太懒了...).由于现在还在研读Thinking in Java这种入门书籍,突然来了想法,罗列如下,可以通过接口. 下面是我写的一个测试的例子 首先是一个类似Button的部件 package com.example.androidtest2.service; /** *

Button的四种监听方式

Button按钮设置点击的四种监听方式 注:加粗放大的都是改变的代码 1.使用匿名内部类的形式进行设置 使用匿名内部类的形式,直接将需要设置的onClickListener接口对象初始化,内部的onClick方法会在按钮被点击的时候执行 第一个活动的java代码: 1 package com.sanlian.buttontest; 2 3 import android.content.Intent; 4 import android.support.v7.app.AppCompatActivit

android CheckBox控件的定义及事件监听

http://www.beijibear.com/index.php?aid=336 android CheckBox控件的定义及事件监听,本例实现CheckBox控件的定义及点击事件的监听并显示结果,运行效果截图如下: CheckBox控件的定义,main.xml内容如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas

JavaScript学习12 JS中定义对象的几种方式【转】

avaScript学习12 JS中定义对象的几种方式 转自:  http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型("prototype")方式 5.动态原型方式 一.基于已有对象扩充其属性和方法 <script type="text/javascript

(六)javascriptJS中定义对象的几种方式(转)

JavaScript学习12 JS中定义对象的几种方式 转自:  http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型("prototype")方式 5.动态原型方式 一.基于已有对象扩充其属性和方法 <script type="text/javascrip

JavaScript学习12 JS中定义对象的几种方式

JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型("prototype")方式 5.动态原型方式 一.基于已有对象扩充其属性和方法 <script type="text/javascript"> var object = new Object(); object.name

Android 四种点击监听方式

Android点击监听事件经常用到,经常用到的有以下几种 第一种:最常用到的,通过实现OnClickListen,实现OnClick方法去实现 public class MainActivity extends Activity implements OnClickListener // 用实现接口的方式实现点击 button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(this); @Override p

【laravel】Eloquent 模型事件和监听方式

所有支持的模型事件 在 Eloquent 模型类上进行查询.插入.更新.删除操作时,会触发相应的模型事件,不管你有没有监听它们.这些事件包括: retrieved 获取到模型实例后触发 creating 插入到数据库前触发 created 插入到数据库后触发 updating 更新到数据库前触发 updated 更新到数据库后触发 saving 保存到数据库前触发(插入/更新之前,无论插入还是更新都会触发) saved 保存到数据库后触发(插入/更新之后,无论插入还是更新都会触发) deleti

Node.js自定义对象事件监听与发射

一.Node.js是以事件驱动的,那我们自定义的一些js对象就需要能监听事件以及发射事件.在Node.js中事件使用一个EventEmitter对象发出,该对象在events模块中.它应该是使用观察者设计模式来实现把事件监听器添加到对象以及移除,之前写OC那块的时候也有些观察者设计模式,在OC中也经常用到:通知中心.KVO,也很容易理解. .addListener(eventName,callback):将回调函数附加到对象的监听器中.当eventName的事件被触发时,回调函数被放置在事件队列