我有一个web页面,它是从服务器下载的HTML网页,我填充动态数据并向这个网页添加信息行。我用下面的代码在该网页上启用javascript:Android应用程序关闭时没有任何错误-WebView Javascript
class JSClass {
Context jsContext;
JSClass(Context c){
jsContext = c;
}
public void getHTMLContent(String info)
{
Log.i(TAG, "Info: "+info);
}
}
WebView webview = (WebView) findViewById(R.id.webView);
webview.loadDataWithBaseURL("", htmlcontent, "text/html", "utf-8", "");
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebChromeClient(new WebChromeClient());
webview.addJavascriptInterface(new JSClass(this), "Android");
webview.loadUrl("javascript:"+
"var rows = document.getElementsByClassName('info');"+
"if(rows !== null){"+
"for(var i=0;i<rows.length;i++){"+
"rows[i].onclick = function(){"+
"var workId = 0;"+
"workId = parseInt(this.cells[0].innerHTML);"+
"window.Android.getHTMLContent(workId);"+
"}}}"
);
当我点击任何行,我CAL的意图,从依赖于该行数据的服务器下载图像。它在第一次点击时工作正常,但是第二次点击时,应用程序关闭时没有任何错误。我不明白原因。请帮忙。在此先感谢
“没有任何错误”意味着即使在'LogCat'中你没有线索? – g00dy
要让Logcat中的JS消息(错误和类似)覆盖''''Chart.NETChromeClient#onConsoleMessage''''消息并将每条消息打印到LogCat。请注意,API是在FROYO中引入的,因此如果您正在运行sub v2.2 – OceanLife
@OceanLife:yes!logcat中也没有错误消息。我重写了WebChromeClient的onConsoleMessage。实际上它可以在模拟器上顺利运行100次点击。这prblm只面临机器人设备 – raghavendra