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

   
}


目录
相关文章
|
1月前
|
安全 Java 编译器
Android面试题之Java 泛型和Kotlin泛型
**Java泛型是JDK5引入的特性,用于编译时类型检查和安全。泛型擦除会在运行时移除类型参数,用Object或边界类型替换。这导致几个限制:不能直接创建泛型实例,不能使用instanceof,泛型数组与协变冲突,以及在静态上下文中的限制。通配符如<?>用于增强灵活性,<? extends T>只读,<? super T>只写。面试题涉及泛型原理和擦除机制。
23 3
Android面试题之Java 泛型和Kotlin泛型
|
15天前
|
移动开发 JavaScript Java
Android与JS互相调
Android与JS互相调
|
24天前
|
JavaScript 前端开发 Java
java 执行 javascript 代码
java 执行 javascript 代码
20 6
|
29天前
|
存储 Java 数据库连接
Android Java开发异步
【6月更文挑战第15天】
|
1月前
|
缓存 网络协议 Java
Android面试题之Java网络通信基础知识
Socket是应用与TCP/IP通信的接口,封装了底层细节。网络通信涉及连接、读写数据。BIO是同步阻塞,NIO支持多路复用(如Selector),AIO在某些平台提供异步非阻塞服务。BIO示例中,服务端用固定线程池处理客户端请求,客户端发起连接并读写数据。NIO的关键是Selector监控多个通道的事件,减少线程消耗。书中推荐《Java网络编程》和《UNIX网络编程》。关注公众号AntDream了解更多。
24 2
|
13天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的高校后勤网上报修系统安卓app附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的高校后勤网上报修系统安卓app附带文章源码部署视频讲解等
12 0
|
16天前
|
Web App开发 JavaScript 前端开发
Android端使用WebView注入一段js代码实现js调用android
Android端使用WebView注入一段js代码实现js调用android
26 0
|
23天前
|
Java
java线程之异步回调
java线程之异步回调
15 0
|
26天前
|
Java Android开发 Kotlin
Android面试题:App性能优化之Java和Kotlin常见的数据结构
Java数据结构摘要:ArrayList基于数组,适合查找和修改;LinkedList适合插入删除;HashMap1.8后用数组+链表/红黑树,初始化时预估容量可避免扩容。SparseArray优化查找,ArrayMap减少冲突。 Kotlin优化摘要:Kotlin的List用`listOf/mutableListOf`,Map用`mapOf/mutableMapOf`,支持操作符重载和扩展函数。序列提供懒加载,解构用于遍历Map,扩展函数默认参数增强灵活性。
19 0
|
27天前
|
编译器 开发工具 Android开发
java.io.FileNotFoundException: ...my_flutter/.android/include_flutter.groovy
java.io.FileNotFoundException: ...my_flutter/.android/include_flutter.groovy
14 0

热门文章

最新文章