关于Webview与JS交互取值的问题
废话不多说,首先webview与JS交互必须要有webview对JS的支持
webview = (WebView) findViewById(R.id.webview);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);//webview支持JS
然后在HTML页面上加入JS代码
function androidGetInfo() {
return window.demo.getInfo(goodsid, $("#goods_num").val());//调用android 中的getInfo方法。
}
这其中getinfo()方法里边的参数,就是JS要返回的参数
然后在android中加入
webview.addJavascriptInterface(new Object(){
@JavascriptInterface//注意这一点很重要,一定要在交互方法上加入这个注解,并导入包(在API大于17的情况下),不然JS就调用不到android中的方法
public void getInfo(String _goodsid,String _value){
goodsid = _goodsid;
value = _value;
}
}, "demo");
最后要在去返回值的地方执行交互
webview.loadUrl("javascript:androidGetInfo()");
到这里JS已经完成,其中"demo"是android方法和JS绑定的对象,getinfo是交互的方法名,androidGetInfo是Android执行JS中的方法名,可以根据需要自行修改~
好好学习,天天向上,大家共同学习进步