Android javascript接口,在传递多维数组时获取空值
我尝试使用Javascript接口传递多维数组,但当我进入设备时,它返回null 这是我的javascript界面:Android javascript接口,在传递多维数组时获取空值,javascript,android,arrays,Javascript,Android,Arrays,我尝试使用Javascript接口传递多维数组,但当我进入设备时,它返回null 这是我的javascript界面: @JavascriptInterface public void showHTML(final String html) { this.html = html; processed = true; webView.loadUrl("javascript:" +
@JavascriptInterface
public void showHTML(final String html) {
this.html = html;
processed = true;
webView.loadUrl("javascript:" +
"var html = document.documentElement.innerHTML;" +
"var pre = html.indexOf('[{');" +
"var data = html.substring(pre, pre + html.substring(pre).indexOf(';'));" +
"var json = JSON.parse(data);" +
"var array = [];" +
"var obj;" +
"for (i = 0; i<json.length; i++){" +
"obj = json[i];" +
"array.push([obj.StationName, obj.StationCode, obj.CountryName]);" +
"}" +
"window.Android.getData(array, json[0].StationName);");
}
虽然我找不到正式的文档,但似乎我们无法使用addJavascriptInterface()将Javascript对象传递给Java。查看此处的讨论:
@JavascriptInterface
public void getData(Object array, String test){
Log.d("CPA", test);
if(array == null){
Log.d("CPA", "array is null");
}
}