android java js 回调 真心好用

本文介绍如何在HTML页面中通过JavaScript调用Java类的方法实现数据的前后端交互,具体展示了HTML代码与Java代码的配合使用,包括事件监听、参数传递及返回值处理。

HTML页代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title></title>

<script type="text/javascript">

调用JAVA类的方法
functionnext(){

<wbr> vartextvalue =(document.getElementByIdx_x('num1').value);</wbr>

<wbr>window.ncp.clickOnAndroid_saveIdnumber(textvalue);</wbr>
}



这个JS方案是专门给JAVA回传用的
function wave(value){<wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>document.getElementByIdx_x("XX").value= value;</wbr></wbr></wbr></wbr></wbr>
}<wbr></wbr>

</script>
</head>


<body >
<table width="962" height="748" border="0"cellpadding="0" cellspacing="0"bordercolor="F2F2F2">
<wbr><span style="font-size:18px"> &lt;tr&gt;<br></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px">&lt;td&gt;</span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"><br><br></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px">&lt;input type="text" id="num1" /&gt;<br><br></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px">&lt;input type="text" id="XX"/&gt;<br><br></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"></span><wbr><span style="font-size:18px"> &lt;input type="button"name="Submit1" value="" onclick="next();" class="BOTTOM" style="background-color:#000000;border-width:0px "/&gt;<br></span><wbr><span style="font-size:18px"> &lt;/td&gt;<br></span><wbr><span style="font-size:18px"> &lt;/tr&gt;<br> &lt;/table&gt;<br><br> &lt;/body&gt;<br> &lt;/html&gt;<br><br><br><br><br> JAVA代码:<br><br><br></span><span style="font-size:18px"></span><pre name="code" class="java">public class Test extends Activity { privateHandler mHandler = new Handler(); privateWebView mWebView; public voidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.registerforpassword); //将WebView实例化 mWebView = (WebView) this.findViewById(R.id.webView); //WebView打开权限 mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); mWebView.getSettings().setJavaScriptEnabled(true); //使得获取焦点以后可以使用软键盘 mWebView.requestFocusFromTouch(); //允许使用JAVASCRIPT脚本 mWebView.addJavascriptInterface(newDemoJavaScriptInterface(), "ncp"); mWebView.loadUrl("file:///android_asset/Test.html"); } finalclassDemoJavaScriptInterface { //按扭业务 public voidclickOnAndroid_saveIdnumber(final String value){ System.out.println("前台传来的值:"+ value); mHandler.post(new Runnable() { public void run() { // 此处调用 HTML 中的javaScript 函数 System.out.println("去调用WAVE"); //不传参数 // mWebView.loadUrl("javascript:wave()"); //传二个参数 //mWebView.loadUrl("javascript:wave('" + value + "','" + value +"')"); //传一个参数 mWebView.loadUrl("javascript:wave('" + value +"')"); } }); } } }</pre> <br><br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值