使用Luaj调用只带一个string参数java静态方法不成功,在该方法后加一个无意义的float参数就可以调用到了,不知道这是不是一个luaj的bug
这种情况,要指定 Java 方法的签名。
已经指定了签名了
签名是这样指定的
local javaMethodSig = “(Ljava/lang/String)V”
luaj.callStaticMethod(javaClassName, javaMethodName, javaParams, javaMethodSig)
但是不行
后来加了个没用的参数给调用成功了
参数怎么传递的?
local javaParams = {
“” – 一个string的url地址
}
后来换成的是
local javaParams = {
“”, – 一个string的url地址
1
}
Java 方法是
public static void openUrl(final String url){
… //这个调用不成功
}
public static void openUrl(final String url, final float v){
…
}
我的不成功的意思是 我在java方法里设置断点都没进 应该是根本没有调用到相关方法
— Begin quote from ____
引用第3楼hioln于2014-07-11 14:25发表的 :
签名是这样指定的
local javaMethodSig = “(Ljava/lang/String)V”
luaj.callStaticMethod(javaClassName, javaMethodName, javaParams, javaMethodSig)
但是不行
… http://www.cocoachina.com/bbs/job.php?action=topost&tid=213786&pid=1001184
— End quote
你的签名应该这样指定:local javaMethodSig = "(Ljava/lang/String;)V"字符串类型比较特别,要加分号
7楼是对的,以L开头的类要以分号作为结尾