此代码工作正常,因为我更新到API 19,现在不推荐使用WebSettings类型中的setPluginsEnabled(true)方法。
我遇到方法setPluginState(PluginState.ON)将是一个解决方案,但它也被弃用。
我该怎么办?我发现这些帖子A,B,C有些人有类似的问题,但这些答案对我没有帮助:/ 虽然编译器给了我一个警告,但它编译成功。 (这就是为什么它会被弃用,但现在还没有。与setPluginEnabled相同,我还好吗?)
基本上我需要做的是显示从数据库加载数据的销售图表。
private void updateChartDataSet(){
Enumeration<Integer> enumerator = this.values.keys();
while(enumerator.hasMoreElements()){
Integer key = enumerator.nextElement();
Double value = this.values.get(key);
this.diasJsonArray.put(DateUtils.convertGraficoVentasMensualDateToString(dateValues.get(key)));
this.montosJsonArray.put(value);
}
}
private void setWebViewData(){
this.webView.getSettings().setJavaScriptEnabled(true);
this.webView.getSettings().setBuiltInZoomControls(true);
this.webView.getSettings().setPluginsEnabled(true);
this.webView.addJavascriptInterface(new GraficoWebAppInterface(diasJsonArray,montosJsonArray, "Ventas Mensual", "Venta del día"), "dataLoader");
this.webView.loadUrl("file:///android_asset/charts/VentasClientes/chart.html");
this.webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
return false;
}
});
android_asset /图表/ VentasClientes / chart.html:
<script src="jquery-1.9.1.min.js"></script>
<script src="highcharts.js"></script>
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
<script>
$(function () {
$('#container').highcharts({
chart: {
type: 'bar'
},
title: {
text: dataLoader.getTittle()
},
xAxis: {
categories: eval(dataLoader.getCategories()),
title: {
text: null
}
},
yAxis: {
min: 0,
title: {
text: 'Monto ($)',
align: 'high'
},
labels: {
overflow: 'justify'
}
},
tooltip: {
valueSuffix: '$'
},
plotOptions: {
bar: {
dataLabels: {
enabled: true
}
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -100,
y: 100,
floating: true,
borderWidth: 1,
backgroundColor: '#FFFFFF',
shadow: true
},
credits: {
enabled: false
},
series: [{
name: dataLoader.getSerie(),
data: eval(dataLoader.getData())
}]
});
});
</script>