自己定义对象的监听方式

自己定义对象的监听方式

 

问题描写叙述:

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

可能的解决方式:

我当时就想到了,这个问题类似与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源代码了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119087.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • epub精品电子书下载_丹尼尔·内格里诺

    epub精品电子书下载_丹尼尔·内格里诺郑重声明:本号收录的电子书均来源于互联网或网友分享,链接内容仅作分享交流学习使用,不用于任何商业用途,版权归原作者和出版社所有,如果喜欢,请支持和购买正版,谢谢。下载地址:http://pan.63

  • 基于SRS的视频直播服务器搭建

    基于SRS的视频直播服务器搭建srs提供的一个demo实例,包括实时流的rtmp播放,hls播放,视频会议,ffmpeg视频变换,jwplayer播放,OSMF播放,vlc播放等等功能.

  • 2020年度学习规划

    0x00前言之前一直没有发表或者正式的记录过这些规划,想从这段时候开始制作个规划,来记录这段时间的成长,写在博客上面,到时候来看看完成的进展。在年底也会写出一些年度总结预计今年学习的心得、感想、感

    2021年12月11日
  • JSONPath表达式[通俗易懂]

    JSONPath表达式[通俗易懂]前言JSONPath是一种简单的方法来提取给定JSON文档的部分内容。JSONPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。JSONPath表达式语法1、操作符?:问号,标记表达式的开头。使用的语法[?(表达)]例如:[?(Expression)]@:在符号处表示正在处理的当前节点。语法使用$.books[?@.price>100]注意:使用JSONPath的[]操作符操作一个对象或者数组,索引是从0开始。

  • mac OCR截图文字识别工具—iText for mac[通俗易懂]

    mac OCR截图文字识别工具—iText for mac[通俗易懂]iTextformac中文版是Macos系统上一款从图片中识别文字的OCR(光学字符识别)工具。通过截图、拖拽图片,即可以从扫描版的PDF等任意图片中识字,并且可以很好的解决摘抄和批注需求。帮助用户识别图片中文字,节约时间,提高效率。iTextformac下载安装教程…

  • 三阶贝塞尔曲线_三阶贝塞尔曲线公式

    三阶贝塞尔曲线_三阶贝塞尔曲线公式目的:使用L-Edit绘制DC耦合器版图其中的弯曲部分就是基于贝塞尔曲线画出来的。长这样↓使用语言:C语言写了两个版本。一个是基于L-edit平台的版本,一个是基于VS平台版本(我的是2017版)。这里说下VS的版本,不过VS里我就没有费心画出来了,只是列出了坐标来验证我L-Edit里面版图的正确性。贝塞尔曲线是个啥可参考这篇:点击打开链接简言之我们要画的三阶贝塞尔曲线就是通过四个点来拟合一条曲线…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号