【问题标题】:Add array data in HighChart android在 HighChart android 中添加数组数据
【发布时间】: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


【解决方案1】:

只是想分享我们的解决方案。我的错误是我没有将字符串从 android/java 变成对象。所以我们添加。

var temp=eval('['+Android.getStringTickets()+']');

在添加数据时:

series: [{
          ame:'Crime',
          data: temp }]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-16
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 2020-04-25
    相关资源
    最近更新 更多