HighChart 点击事件第一次工作但是当我更新数据然后点击事件不工作
HiChart click event 1st time it's working but when I update the data then click event is not working
我在 android 应用程序中使用 hichart 折线图。
我正在设置数据和点击事件,它第一次正常工作,但当数据发生变化并且我更新时,图表显示正确但点击事件不起作用。
设置数据后调用reload方法,问题依旧
我是如何设置数据的:
// Click event
HIPlotOptions plotoptions = new HIPlotOptions();
plotoptions.setSeries(new HISeries());
HISeries series = plotoptions.getSeries();
plotoptions.getSeries().setLabel(new HILabel());
plotoptions.getSeries().getLabel().setConnectorAllowed(false);
plotoptions.getSeries().setPoint(new HIPoint());
plotoptions.getSeries().getPoint().setEvents(new HIEvents());
plotoptions.getSeries().getPoint().getEvents().setClick(new HIFunction(
f -> {
setValue(f.getProperty("x"), f.getProperty("y"));
}, new String[]{"x", "y"}
));
options.setPlotOptions(plotoptions);
// Setting data
HISeries line2 = new HISeries();
line2.setName(reportDto.getDates().get(0).getMaxBaselineDisplayName());
line2.setData(new ArrayList<>(list2));
line2.setColor(HIColor.initWithHexValue(chartOneColor));
options.setSeries(new ArrayList<>(Arrays.asList(line2)));
chartView.setOptions(options);
chartView.reload();
如果我遗漏了什么,请告诉我。
首先,reload()
方法已经deprecated所以避免使用它。
如果我没记错的话,你不应该在创建 HIPlotOptions 之后需要这样做吗:
options.setPlotOptions(plotoptions);
您可以查看示例 here。
根据文档,chartView.reload();
已弃用,如果您想更新图表数据,只需设置 setter 方法即可。
删除 reload() 方法并试一试!
我在 android 应用程序中使用 hichart 折线图。 我正在设置数据和点击事件,它第一次正常工作,但当数据发生变化并且我更新时,图表显示正确但点击事件不起作用。
设置数据后调用reload方法,问题依旧
我是如何设置数据的:
// Click event
HIPlotOptions plotoptions = new HIPlotOptions();
plotoptions.setSeries(new HISeries());
HISeries series = plotoptions.getSeries();
plotoptions.getSeries().setLabel(new HILabel());
plotoptions.getSeries().getLabel().setConnectorAllowed(false);
plotoptions.getSeries().setPoint(new HIPoint());
plotoptions.getSeries().getPoint().setEvents(new HIEvents());
plotoptions.getSeries().getPoint().getEvents().setClick(new HIFunction(
f -> {
setValue(f.getProperty("x"), f.getProperty("y"));
}, new String[]{"x", "y"}
));
options.setPlotOptions(plotoptions);
// Setting data
HISeries line2 = new HISeries();
line2.setName(reportDto.getDates().get(0).getMaxBaselineDisplayName());
line2.setData(new ArrayList<>(list2));
line2.setColor(HIColor.initWithHexValue(chartOneColor));
options.setSeries(new ArrayList<>(Arrays.asList(line2)));
chartView.setOptions(options);
chartView.reload();
如果我遗漏了什么,请告诉我。
首先,reload()
方法已经deprecated所以避免使用它。
如果我没记错的话,你不应该在创建 HIPlotOptions 之后需要这样做吗:
options.setPlotOptions(plotoptions);
您可以查看示例 here。
根据文档,chartView.reload();
已弃用,如果您想更新图表数据,只需设置 setter 方法即可。
删除 reload() 方法并试一试!