android webview 开发

来源:互联网 发布:淘宝联盟怎么链接转换 编辑:程序博客网 时间:2024/05/08 15:05

mWebView.loadUrl("javascript:loaddata("+str+")"); 这种传递参数方法必须str为json格式,否则js中调用出错,不能直接传递字符串形式参数

因此修改为不含参数调用,在html页中用js调用android中的方法,返回数值,很方便!!

android中:

webview.addJavascriptInterface(this,"detail");

public  static String returndata()
 {
  String strjson="{\"tablelist\":[{\"c1\":\"asdfasdf\",\"c2\":\"父母\",\"c3\":\"\",\"c4\":\"\",\"c5\":\"\",\"c6\":\"\",\"c7\":\"\",\"c8\":\"\"}," +
    "{\"c1\":\"\",\"c2\":\"\",\"c3\":\"\",\"c4\":\"\",\"c5\":\"\",\"c6\":\"asdf\",\"c7\":\"阿斯顿法\",\"c8\":\"\"}," +
    "{\"c1\":\"asdf\",\"c2\":\"\",\"c3\":\"\",\"c4\":\"\",\"c5\":\"\",\"c6\":\"\",\"c7\":\"\",\"c8\":\"\"}," +
    "{\"c1\":\"\",\"c2\":\"\",\"c3\":\"\",\"c4\":\"\",\"c5\":\"\",\"c6\":\"阿斯顿法\",\"c7\":\"阿斯顿法\",\"c8\":\"\"}," +
    "{\"c1\":\"\",\"c2\":\"\",\"c3\":\"\",\"c4\":\"\",\"c5\":\"\",\"c6\":\"\",\"c7\":\"\",\"c8\":\"\"}]}" +
    "#{\"tablelist\":[{\"c1\":\"\",\"c2\":\"asdfasd\",\"c3\":\"\",\"c4\":\"\",\"c5\":\"\",\"c6\":\"\",\"c7\":\"\",\"c8\":\"\"}," +
    "{\"c1\":\"\",\"c2\":\"ffasdf\",\"c3\":\"\",\"c4\":\"\",\"c5\":\"\",\"c6\":\"\",\"c7\":\"\",\"c8\":\"\"}," +
    "{\"c1\":\"\",\"c2\":\"\",\"c3\":\"\",\"c4\":\"\",\"c5\":\"\",\"c6\":\"\",\"c7\":\"\",\"c8\":\"\"}," +
    "{\"c1\":\"asdf\",\"c2\":\"\",\"c3\":\"\",\"c4\":\"\",\"c5\":\"\",\"c6\":\"\",\"c7\":\"\",\"c8\":\"\"}," +
    "{\"c1\":\"\",\"c2\":\"\",\"c3\":\"\",\"c4\":\"\",\"c5\":\"\",\"c6\":\"\",\"c7\":\"\",\"c8\":\"\"}]}";
  return strjson;
  
 }

html 中

function alertm()
{
  var strt;
  strt=detail.returndata();
  loaddata(strt);
 }
function loaddata(str1)
{
//var str1="";//信息变量

var getobj = new Object();

var splitstr;
// function onD_1(downData){
alert(str1);
//    str1=downData;
// 
//  }
 //oDownload.startDownload("data.txt",onD_1);
var splitstr = str1.split('#');
for(i=0;i<splitstr.length;i++){
     var strc=splitstr[i];
  
  getobj[i]=eval("("+strc+")");
  var id=i+1;
  var recordlist=document.getElementsByName('tab'+id);
   for(var j=0;j<recordlist.length;j++)
     {
      var col=recordlist[j].id.split('s') ;  
      recordlist[j].value=getobj[i].tablelist[col[1]][col[0]]; 
      //更改选择框数据值
      var selectid='tab'+id+recordlist[j].id;
      var selectp=document.getElementById(selectid);
      if (selectp)
      {
       selectp.value=recordlist[j].value;
       }       
      }
   document.getElementById('stable').innerHTML+=JSON.stringify(getobj[i]) ;
  }
 
}