我正在解析xml文件并使用Java脚本接口类和CSS将其加载到Web视图上,但我的Java脚本接口类从未被调用,并且Web视图中没有加载任何内容,应用程序只是崩溃而且没有错误是在log cat上给出。你能帮朋友帮忙解决这个问题。
我的js接口类是
public class JsInterface {
public String wordDef;
public String addData(){
Log.v("JSInterface", ""+wordDef);
return wordDef;
}
我正在调用主要活动,如
JsInterface Jsi = new JsInterface();
Jsi.wordDef = content;
Log.v("Content",""+content);
wv.addJavascriptInterface(Jsi, "interfaces");
wv.loadUrl("file:///android_asset/ccc.html");
我的HTML看起来像
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=WIDTH_OF_YOUR_PAGE, target-densitydpi=device-dpi"/>
<title>Untitled Document</title>
<link href="word_style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function addData(){
//var data = getQuerystring('word');
var data = window.interfaces.addData();
document.getElementById('content').innerHTML = data;
}
答案 0 :(得分:0)
我还没看看你的代码,但是让我告诉你,如果你没有为你的类创建一个构造函数并将引用od上下文传递给构造函数javascript永远不会能够调用java的任何方法< / p>
答案 1 :(得分:0)
试试这个: JsInterface Jsi = new JsInterface(); Jsi.wordDef = content; Log.v( “内容”, “” +含量); wv.addJavascriptInterface(Jsi,“interfaces”); wv.loadUrl( “文件:///android_asset/ccc.html”);
public class JsInterface {
public String wordDef;
Context mContext;
public void JsInterface(Context c){
mContext = c;
}
public String addData(){
Log.v("JSInterface", ""+wordDef);
return wordDef;
}
}
然后从javascript调用
function addData(){
var data = interfaces.addData();
}
它应该有用