android webview中扩展js对象的回调函数怎么处理
这两天在研究webview上面的js扩展,熟悉android webview的人应该知道android webview利用webview的addJavascriptInte易做图ce可以将java对象和提供给js使用的js对象进行绑定,例如:java中:
class A{
public int add(int a,int b){
return a+b;
}
.....;
}
通过addJavascriptInte易做图ce(new A(),"A");将JAVA的class A的对象与js绑定,这个对象在js中就叫做A,那么在js中就可以使用A这个对象了,这个对象也是全局对象即window.A,在js中可以使用A.add(2,3)。
以上是对webview的js扩展做了一个简单的介绍,那么现在遇到这样一个问题,js中我们要去添加一个对象,这个对象的一个方法需要接收回调函数作为参数,那在java那边怎么去处理,js传进来的回调函数呢?
例如:
js:
A.test(function(x){var y = x;},"hello");
这句js的代码就是说test这个方法要接收一个函数当做回调来处理,和一个字符串。
那么在JAVA中去扩展这个A这个对象的时候test这个方法改怎么去接收传进来的回调函数呢?
例如:
JAVA:
class A{
public void test(XXX,String str){//test中的 XXX是用来接收js传入的function(x){var y = x;},那么XXX应该怎么表示它的类型??????
.........;//函数体里面要根据状态去执行js传进来的function(x){var y = x;},又该怎么执行???
}
}
请教给位高手,给小弟指点迷津啊~~ 在此谢过大家了~~· --------------------编程问答-------------------- 帮顶的~~~ lz都开始搞android了,俺还在搞j2ee企业管理系统的开发。痛哭中。。。 --------------------编程问答--------------------
多谢帮顶啊~~~
这个问题纠结了我很久啊 自己实在做不出啊 --------------------编程问答-------------------- 莫人。。。。????
自己顶起来 --------------------编程问答-------------------- 你就传一段String进去再eval之不幸么 --------------------编程问答-------------------- 楼主解决了吗?同求答案 --------------------编程问答-------------------- 2.1传入的还是String,就是函数的代码片段,但是2.3,3.0试过后发现都只能传入一个undefined,用object直接是null --------------------编程问答-------------------- 不知道现在怎么解决的? --------------------编程问答-------------------- String msg = "hello";
webview.loadUrl("javascript:alert("+msg+")");
java中调用 webview中的js
补充:Java , Java相关