java getxxx_java的invoke与getMethod方法用法

和listener一起使用举例:

需要在控件中监听某个动作:比如button点击,画面滚动等

1.为控件定义一个属性:属性绑定一个方法

xxxProperty ="onPropertyXxxxFunc”

2.首先自定义一个Listener

// 在控件构造函数中获得控件属性的值xxxPropertyValue

// 将该属性作为参数传递给自定义的Listener

new xxxListener(this, xxxPropertyValue)

3.类似与Android原生的Listener,设计一个interface

public interface OnXxxxListener {

void onXXXSignalFunc(需要用的参数列表);

}

4.该xxxListener实现OnXxxxListener的接口

// 在构造中拿到属性中绑定的方法"onPropertyXxxxFunc"

context.getClass().getMethod(xxxPropertyValue,参数类型……)

//重写OnXxxxListener中onXXXSignalFunc方法

上面拿到的方法调用invoke,触发该方法onPropertyXxxxFunc

5.在画面中实装onPropertyXxxxFunc

6.调用onXXXSignalFunc方法:在接收画面滚动信号,down,等信号时调用。调用onXXXSignalFunc方法,会调用invoke,触发onPropertyXxxxFunc,画面处理某些逻辑

Method getMethod(String name,Class...parameterTypes)

name: method的名称

parameterTypes:method的参数类型的列表(参数顺序需按声明method时的参数列表排列)

返回:符合method名称和参数的method对象

抛出错误:NoSuchMethodException (没有找到所要查询的Method对象或Method名称为“”或“”)

NullPointerException (所要查询的Method对象的名称为null)

SecurityException(调用的类或其父类没有调用权限)

invoke方法

作用:调用包装在当前Method对象中的方法。

原型:Object invoke(Object obj,Object...args)

参数解释:obj:实例化后的对象

args:用于方法调用的参数

返回:根据obj和args调用的方法的返回值

抛出错误:IllegalAccessException(Method对象强制Java语言执行控制或无权访问obj对象)

IllegalArgumentException(方法是实例化方法,而指定需要调用的对象并不是实例化后的类或接口)

一个完整的例子:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows查看usb信息命令_【VPS】Linux VPS查看系统信息命令大全

本文转自老左笔记,自用mark系统# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加…

c++ 向量的值逆序输出_C++中vector的常用方法

前言在C中,vector是一个商业转载请联系作者获得授权,非商业转载请注明出处。十分有用的容器。它能像容器一样存放各种类型的对象,简单来说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。相较链表而言&…

java生成密码_java生成密码生成 | 学步园

一、根据当前日期生成MD5加密密码package com.test;import java.security.MessageDigest;import java.text.SimpleDateFormat;import java.util.Date;public class Md5Test {public void toMD5(String plainText) {try {//生成实现指定摘要原文链接:http://www.cnbl…

python怎么创建一个二维数组_python 创建二维数组的方法

废话不多说,直接上代码:#codingutf-8def two_di_demo1():a[]for i in range(10):a.append([])for j in range(10):a[i].append(0)print(a)def two_di_demo2():a[]for i in range(10):a.append([])for j in range(10):a[i].append(0)print(a)b [[0] * 10…

java导出excel到本地_POI导出Excel----导出到客户端(本地)

contentType"application/vnd.ms-excel;charsetutf-8"pageEncoding"utf-8"%>//导入要用的包import"org.apache.poi.hssf.usermodel.HSSFWorkbook"%>import"java.io.FileOutputStream"%>import"org.apache.poi.hssf.user…

无法初始化sftp协议。主机是sftp服务器吗?_WinSCP v5.15.3 免费的 开源图形化 SFTP 客户端...

WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。主要功能WinSCP 可以执行所有基本的文件操作,例如下载和上传。同时允许为文件和目录重…

java中组合_java中组合模式详解和使用方法

组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创…

道客巴巴vip账号共享2020_腾讯视频VIP怎么两个手机通用?

理论上来说,腾讯视频VIP可以同时在3个设备上登录,但只能在2个设备上同时播放视频。这也就意味着,腾讯视频VIP可以在两个手机上同时使用。腾讯视频VIP基本可以分为微信区、QQ区,两者并不互通。近期腾讯视频手机端修改了登录规则&am…

python3示例_Python3 实例(七)

原标题:Python3 实例(七)Python 将字符串的时间转换为时间戳给定一个字符串的时间,将其转换为时间戳。实例import timea1 "2019-5-10 23:40:00"# 先转换为时间数组timeArray time.strptime(a1, "%Y-%m-%d %H:%M:%S")# 转换为时间戳…

java基础知识一_Java基础知识(一)

类与对象1.对象:客观存在的一切事物称之为对象类:具有相同属性和方法的对象的集合2.类:属性,方法3.修饰符:  public    protected               默认(不写)           private任何地…

python生成相似句子_4种方法计算句子相似度

Edit Distance计算两个字符串之间,由一个转成另一个所需要的最少编辑次数,次数越多,距离越大,也就越不相关。比如,“xiaoming”和“xiamin”,两者的转换需要两步:去除‘o’去除‘g’所以&#x…

mysql主从配置常见问题_mysql 主从复制配置,以及常见问题解决!

一:我的mysql 5.7.15 ,系统是centos6.5主从复制配置步骤:瞅清楚!配置不要出错!!二:遇到的问题Got fatal error 1236 from master when reading data from binary log解决方案:在ma…

pythontcp文件传输_python socket实现文件传输(防粘包)

1.文件传输的要点:采用iterator(迭代器对象)迭代读取,提高读取以及存取效率;通过for line in file_handles逐行conn.send();2.socket粘包问题:[出现原因]:A.TCP协议为了提高传输效率,发送方往往需要收集定量…

python分析txt文件_python解析文本文件

python解析的文件原始数据:汉皇重色思倾国,御宇多年求不得。杨家有女初长成,养在深闺人未识。天生丽质难自弃,一朝选在君王侧。回眸一笑百媚生,六宫粉黛无颜色。春寒赐浴华清池,温泉水滑洗凝脂。侍儿扶起娇…

python中hist函数参数_用hist参数解释Python,python,解读

python用hist参数解读python 中绘制hist的方法有很多,我经常用的是matplotlib直接用x,y绘制;Dataframe直接.hist绘制;绘制直方图1.bins为80的图形fig plt.figure(figsize(15, 9))for i in range(12):plt.subplot(3,4,i1) # 3行4列 位置是i1的…

java 字符串是对象吗_解析Java中的String对象的数据类型

解析Java中的String对象的数据类型2007-06-06eNet&Ciweek1. 首先String不属于8种基本数据类型,String是一个对象。因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。2. …

7-7 六度空间 (30分)_现役球员中,谁最可能成下一位30000分先生?3大前十巨星没戏...

想要在NBA联盟得到3万分有多难?从联盟成立至今的70多年中,总得分超过3万分的球员一共只有7位,他们分别是贾巴尔、马龙、詹姆斯、科比、乔丹、诺维茨基和张伯伦,剩下的强如大鲨鱼、艾弗森都没能完成这一壮举,那现役球员…

java右键弹出菜单_javascript自定义右键弹出菜单实现方法

本文实例讲述了javascript自定义右键弹出菜单实现方法。分享给大家供大家参考。具体实现方法如下:无标题页var oPopup window.createPopup();function PopMenu(id){var oPopBody oPopup.document.body;oPopBody.style.backgroundColor "buttonface";oP…

union all动态表_Excel VBA——动态显示图表

本文讲述将柱形图和折线图做成动态图表的方法。所谓动态是指鼠标点到哪个单元格,就显示活动单元格所在列或行的图表,其中折线图可以让数据点依次显示,使得整个图表不再死板,像变 了一样!在开始之前,需要先介…

xnio java_java基础篇---新I/O技术(NIO)

在JDK1.4以前,I/O输入输出处理,我们把它称为旧I/O处理,在JDK1.4开始,java提供了一系列改进的输入/输出新特性,这些功能被称为新I/O(NEW I/O),新添了许多用于处理输入/输出的类,这些类都被放在ja…