Событие щелчка HiChart в первый раз работает, но когда я обновляю данные, событие щелчка не работает - PullRequest
3 голосов
/ 15 апреля 2019

Я использую линейный график Hichart в моем приложении для Android.Я устанавливаю данные и событие щелчка, оно работает 1-й раз как исключено, но когда данные изменились, и я обновляю график, отображается правильно, но событие щелчка не работает.

После установки данных я вызываю метод перезагрузки, но проблема все еще сохраняется.

Как я устанавливаю данные:

// 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();

Дайте мне знать, если я пропалчто-то.

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

В соответствии с документацией chartView.reload(); устарела, и если вы хотите обновить данные диаграммы, вам нужно только установить метод установки.

Удалите метод reload () и попробуйте!

0 голосов
/ 15 апреля 2019

Прежде всего, метод reload() был устарел , поэтому избегайте его использования.

И если я не ошибаюсь, разве вам не нужно делать это после созданияHIPlotOptions: options.setPlotOptions(plotoptions);

Вы можете ознакомиться с примерами здесь .

...