MPAndroidChart неправильно выделенное значение

Я использую MPAndroidChart, и у меня есть barchart, ось x которой идет от 0 до 11 включительно.

I’ve added the setOnChartValueSelectedListenerbut the highlight.getX()returns 8, even if I click on the last bar, which should be 11.

Что я делаю:

  1. Создайте объект BarData с несколькими записями-1 в месяц в основном, где значение x-номер месяца (от 0 до 11).
  2. Установить setOnChartValueSelectedListenerна графике
  3. Запустите приложение, горизонтально прокрутите до конца диаграммы, нажмите на последнюю строку

Из того, что я прочитал в документах, это должно вызвать прослушиватель с выделенным/выбранным значением, и при выполнении entry.getX()или highlight.getX()это должно возвращать 11, который был нажатой панелью, но вместо этого он возвращает 8. Я не понимаю, как выбирается индекс.

Для значений [0-1] он не сообщает ничего выбранного , для значений [2-8] он сообщает правильное значение X, а для значений [9-11] он всегда сообщает 8 как значение x.

Есть мысли, почему это происходит?

1 ответ

  1. Проблема была в том, как данные были добавлены в List<BarEntry>. Убедитесь, что он добавлен в порядке.

    Если он добавлен, скажем, (x-value) 4, 5, 0, 1, 2, 3 затем выбор будет сломан, как я описал.