<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试</title>
<h1 id="name" ></h1>
<h1 id="age"></h1>
<h1 id="sex"></h1>
<script>
// Android需要调用的方法
function callJS(){
document.getElementById("age").innerHTML=person.getAge();
document.getElementById("name").innerHTML=person.getName();
document.getElementById("sex").innerHTML=person.getSex();
}
</script>
</head>
</html>
package com.loonggg.wedswebview;
import android.webkit.JavascriptInterface;
/**
* Created by loonggg on 2017/5/11.
*/
public class Person {
private String name;
private String age;
private String sex;
@JavascriptInterface
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public void setSex(String sex) {
this.sex = sex;
}
@JavascriptInterface
public String getSex() {
return sex;
}
@JavascriptInterface
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
webView.loadUrl("file:///android_asset/test_object.html");
final Person p = new Person();
p.setName("loonggg");
p.setAge("28");
p.setSex("男");
wv.addJavascriptInterface(p, "person");
wv.loadUrl("javascript:callJS()");
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试</title>
<h1 id="name" ></h1>
<h1 id="age"></h1>
<h1 id="sex"></h1>
<h1>List传值测试</h1>
<h1 id="name1" ></h1>
<h1 id="age1"></h1>
<h1 id="sex1"></h1>
<script>
// Android需要调用的方法
function callJS(){
document.getElementById("age").innerHTML=person.getAge();
document.getElementById("name").innerHTML=person.getName();
document.getElementById("sex").innerHTML=person.getSex();
}
function callListJS(){
document.getElementById("age1").innerHTML=window.javatojs.getPersonObject(0).getAge();
document.getElementById("name1").innerHTML=window.javatojs.getPersonObject(0).getName();
document.getElementById("sex1").innerHTML=window.javatojs.getPersonObject(0).getSex()
}
</script>
</head>
</html>
/**
* 该方法将在js脚本中,通过window.javatojs.....()进行调用
*
* @return
*/
@JavascriptInterface
public Person getPersonObject(int index) {
return list.get(index);
}
@JavascriptInterface
public int getSize() {
return list.size();
}
list.add(p);
wv.addJavascriptInterface(this, "javatojs");
wv.loadUrl("javascript:callListJS()");
public class MainActivity extends AppCompatActivity {
private WebView wv;
private List<Person> list = new ArrayList<Person>();
@SuppressLint("JavascriptInterface")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
wv = new WebView(this);
setContentView(wv);
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
ws.setUseWideViewPort(true);//适应分辨率
ws.setLoadWithOverviewMode(true);
wv.loadUrl("file:///android_asset/test_object.html");
final Person p = new Person();
p.setName("loonggg");
p.setAge("28");
p.setSex("男");
wv.addJavascriptInterface(p, "person");
list.add(p);
wv.addJavascriptInterface(this, "javatojs");
wv.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
wv.loadUrl("javascript:callJS()");
wv.loadUrl("javascript:callListJS()");
}
});
}
/**
* 该方法将在js脚本中,通过window.javatojs.....()进行调用
*
* @return
*/
@JavascriptInterface
public Person getPersonObject(int index) {
return list.get(index);
}
@JavascriptInterface
public int getSize() {
return list.size();
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有