开发者社区> 白展糖> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

android java js 回调 真心好用

简介: HTML页代码: 调用JAVA类的方法functionnext(){  vartextvalue =(document.
+关注继续查看

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(){

  vartextvalue =(document.getElementByIdx_x('num1').value);

 window.ncp.clickOnAndroid_saveIdnumber(textvalue);
}



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


</script>
</head>


<body >
<table width="962" height="748" border="0"cellpadding="0" cellspacing="0"bordercolor="F2F2F2">
 
<tr>
 
  <td>  

 
  <input type="text" id="num1" />

 
  <input type="text" id="XX"/>

 
    <input type="button"name="Submit1" value="" onclick="next();" class="BOTTOM" style="background-color:#000000;border-width:0px "/>
 
</td>
 
</tr>
</table>

</body>
</html>




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 +"')"); 
           } 
       }); 
      
      
  
       }
    }

   
}


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java热插拔技术实现总结
在这篇文章中,我对Java如何实现热插拔技术进行了总结并编写了示例,对现有项目进行了分析,希望对您有帮助。
283 0
java Socket实现简单在线聊天(二)
接《java Socket实现简单在线聊天(一)》,在单客户端连接的基础上,这里第二步需要实现多客户端的连接,也就需要使用到线程。每当有一个新的客户端连接上来,服务端便需要新启动一个线程进行处理,从而解决之前的循环读取中造成阻塞的问题。 写线程通常有两种方法,集成Thread或者实现runnable接口,原则上是能实现runnable的情况下就不继承,因为实现接口的方式更加灵活。
1027 0
java Socket实现简单在线聊天(三)
在上一篇,利用线程使服务端实现了能够接收多客户端请求的功能,这里便需要客户端接收多客户端消息的同时还能把消息转发到每个连接的客户端,并且客户端要能在内容显示区域显示出来,从而实现简单的在线群聊。 在实现客户端转发,无非就是增加输出流;而之前客户端都只发不收,这里也需要更改客户端达到循环接收服务端消息的目的,因此也需要实现多线程。 在实现这个功能的时候,偶然想起随机生成验证码的功
975 0
+关注
白展糖
十多年的JAVA码农,带着小组向前冲
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Java基础入门(一)
立即下载
Android插件化:从入门到放弃
立即下载
编程语言如何演化—— 以 JS 的 private 为例
立即下载