【发布时间】:2014-09-04 03:12:23
【问题描述】:
我在将数组/数据从我的 android/java 代码加载到 highchart/html 代码时遇到了一些麻烦。当我将数据放入静态时它工作正常:
series: [{
name:'Fruit',
data: [{name:"Test 1",y:10},
{name:"Test 2",y:20},
{name:"Test 3",y:30},]}]
但是当我尝试从我的 java 代码中添加它时:
//graph_webview_test is my webview and add the GraphWebInterface() as javascript
graph_webview_test.addJavascriptInterface(new GraphWebInterface(), "Android");
//a method of GraphWebInterface
@JavascriptInterface
public String getStringTickets(){
String temp="";
for(int x=0;x<graphTicketArrayList.size();x++){
temp= temp+"{name:"+"\""+graphTicketArrayList.get(x).getLabel()+"\""+",y:"+graphTicketArrayList.get(x).getTotal()+"},";
}
return temp;
}
//i tried to print the result(Sample_graph.html)
console.log(Android.getStringTickets());
result: "{name:"Test 1",y:10},{name:"Test 2",y:20},{name:"Test 3",y:30}",
and call the method to load data.
series: [{
name:'Fruit',
data: [Android.getStringTickets()]
}]
但 highChart 显示 0 个数据和一个标签(切片)
在 highchart 中加载数组的最佳方法是什么?
谢谢各位,
【问题讨论】:
-
你的数据集后面应该有逗号吗?通常 JS 数据结构的最后一个条目没有逗号
-
嗨 Raymond,你指的是这个,系列:[{ name:'Fruit', data: [{name:"Test 1",y:10}, {name:"Test 2" ,y:20}, {name:"Test 3",y:30},]}] 我尝试了这段代码,它运行正常,所以我所做的是创建了一个具有这种格式的数组字符串,但它没有显示图表.
-
你能贴出你用来生成这个
series: [{ name:'Fruit', data: [Android.getStringTickets()] }]的java代码吗 -
嗨,Raymond,我发现了我的错误,请检查我的答案。无论如何,感谢您的快速回复。 :)
标签: java javascript android arrays highcharts