我已经实现了用于生成折线图报告的Google图表。在上面的ICS设备中它可以正常工作。但是在ICS中,Web视图正在加载错误消息,而不是预期的折线图报告。
在哪种情况下,网络视图可以在网页上显示此错误错误消息是:SYNTAX_ERR:Dom异常12
我该如何解决此错误?
ICS中的异常上升就像
03-30 10:02:36.490: W/webcore(6343): java.lang.Throwable: EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up.
03-30 10:02:36.490: W/webcore(6343): at android.webkit.WebViewCore$EventHub.removeMessages(WebViewCore.java:2453)
03-30 10:02:36.490: W/webcore(6343): at android.webkit.WebViewCore$EventHub.access$12400(WebViewCore.java:1197)
03-30 10:02:36.490: W/webcore(6343): at android.webkit.WebViewCore.removeMessages(WebViewCore.java:2565)
03-30 10:02:36.490: W/webcore(6343): at android.webkit.WebView.sendOurVisibleRect(WebView.java:3429)
03-30 10:02:36.490: W/webcore(6343): at android.webkit.ZoomManager.setZoomScale(ZoomManager.java:960)
03-30 10:02:36.490: W/webcore(6343): at android.webkit.ZoomManager.access$2200(ZoomManager.java:57)
03-30 10:02:36.490: W/webcore(6343): at android.webkit.ZoomManager$PostScale.run(ZoomManager.java:1448)
03-30 10:02:36.490: W/webcore(6343): at android.os.Handler.handleCallback(Handler.java:605)
03-30 10:02:36.490: W/webcore(6343): at android.os.Handler.dispatchMessage(Handler.java:92)
03-30 10:02:36.490: W/webcore(6343): at android.os.Looper.loop(Looper.java:137)
03-30 10:02:36.490: W/webcore(6343): at android.app.ActivityThread.main(ActivityThread.java:4507)
03-30 10:02:36.490: W/webcore(6343): at java.lang.reflect.Method.invokeNative(Native Method)
03-30 10:02:36.490: W/webcore(6343): at java.lang.reflect.Method.invoke(Method.java:511)
03-30 10:02:36.490: W/webcore(6343): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
03-30 10:02:36.490: W/webcore(6343): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
03-30 10:02:36.490: W/webcore(6343): at dalvik.system.NativeStart.main(Native Method)
[请帮助我找出解决方案。
编辑:示例HTML:
<html>
<head>
<meta name="viewport" content="target-densitydpi=device-dpi"/>
<style type="text/css"></style>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("visualization", "1", {packages: ["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Intervel', 'Weekly'],
['01/23/2015 - 01/24/2015', 0.0],
['01/25/2015 - 01/31/2015', 0.0],
['02/01/2015 - 02/07/2015', 0.0],
['02/08/2015 - 02/14/2015', 0.0],
['02/15/2015 - 02/21/2015', 0.0],
['02/22/2015 - 02/24/2015', 0.0]]);
var options = {
'legend': 'top',
'pointSize': 10,
'lineWidth': 3,
series: {0: {color: '#7B9008'}},
backgroundColor: 'transparent',
vAxis: {
textStyle: {fontSize: '18'},
textColor: '#8B8585',
gridlines: {color: '#CACACA'},
baselineColor: '#CACACA'
},
hAxis: {
textStyle: {fontSize: '18'},
textColor: '#8B8585',
gridlines: {color: '#CACACA'},
baselineColor: '#CACACA'
}
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}</script>
</head>
<body style="background-color:transparent">
<div id="chart_div" style="width:100%; height:100%; text-align:left"></div>
</body>
</html>
此处已将基本URL设置为null。但是我不明白为什么它可以在ICS以外的其他Android版本中使用。
loadData():使用“数据”方案URL将给定数据加载到此WebView中。
就我而言,我应该使用loadData()。