小白webview与js交互

今天有人问这个,很多时候让js的人自己百度他们看不明白Android代码,让Android的搞吧。。。

今天简单讲一下Android和js的交互。

Android主要代码:

webView.getSettings().setDefaultTextEncodingName("utf-8");
webView.getSettings().setJavaScriptEnabled(true);

webView.addJavascriptInterface(new JavaScriptObject(), "androidjs");

 public class JavaScriptObject{
        @JavascriptInterface
        public String getId(){
                return "";
        }
        @JavascriptInterface
        public void showToast(String a,String b){
            Toast.makeText(MyWebActivity.this,a+b,Toast.LENGTH_SHORT).show();
        }

    }

js主要代码:

<script>
        // 详情
        function XQ() {
                window.androidjs.showToast("123","345")
        }
</script>

<button onClick="XQ()">js方法调用</button>

<button onClick="window.androidjs.showToast('123','345')">直接调用可以</button>

主要注意的问题就是标颜色的部分,名字是可以随便起的但是相同颜色的名字必须相同。如果只是测试可以在Android本地测试一下代码,写一个简单的html文件放在assets文件下,注意这个文件需要自己创建,与java文件同级在mian文件下。访问是

 webView.loadUrl("file:///android_asset/helloworld.html");。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值