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

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

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

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

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

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

3
0
239
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

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

Вы можете проверить примеры здесь.

да, я делаю это. Я просто проверяю, что это ошибка копирования и вставки. Я обновляю вопрос. Вы знаете другой обходной путь?

Harsh Shah 15.04.2019 09:43

что я должен использовать вместо перезагрузки ()

Harsh Shah 15.04.2019 09:47

Для замены reload() оформите заказ на этот связь.

bhavya_karia 15.04.2019 10:21
Ответ принят как подходящий

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

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

Вы хотите вызвать chartView.setOptions(options); ? Если нет, подскажите правильный код.

Pooja Rajendran C 18.11.2020 07:07

Другие вопросы по теме