我试图通过 WebView 在 Android 中使用jqPlot,但我得到一个没有错误的空白 WebView。我正在从我的应用程序的资产目录中将一个简单的 HTML 文件加载到 WebView 中,然后尝试运行所需的 javascript 来创建图表。任何帮助/建议将不胜感激!
这是加载 WebView 的代码
private View getSimpleChartView() {
View chartView = getLayoutInflater().inflate(R.layout.test_chart, null);
TextView chartTitle = (TextView) chartView.findViewById(R.id.txtChartTitle);
chartTitle.setText("Simple Chart");
WebView webView = (WebView) chartView.findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new ChartWebViewClient());
webView.loadUrl("file:///android_asset/jqplot_template.html");
webView.loadUrl("javascript:" + getJqPlotJavascript());
return chartView;
}
private String getJqPlotJavascript() {
StringBuilder js = new StringBuilder();
js.append("<script language=\"javascript\" type=\"text/javascript\" src=\"file:///android_asset/jqplot/jquery.min.js\"></script>\n");
js.append("<script language=\"javascript\" type=\"text/javascript\" src=\"file:///android_asset/jqplot/jquery.jqplot.min.js\"></script>\n");
js.append("<link rel=\"stylesheet\" type=\"text/css\" href=\"file:///android_asset/jqplot/jquery.jqplot.css\" />\n");
js.append("<script type=\"text/javascript\">");
js.append("$.jqplot('chartdiv', [[[1, 2],[3,5.12],[5,13.1],[7,33.6],[9,85.9],[11,219.9]]]);\n");
js.append("</script>");
return js.toString();
}
jqplot_template.html
<html>
<body>
<div id="chartdiv" style="height:400px;width:300px;"></div>
</body>
</html>