В настоящее время вы устанавливаете цвет для set1
, который представляет собой весь набор данных. Вот почему вы сообщаете, что меняется цвет всех кругов. Вам нужно сделать это, но для одного объекта.
В соответствии с документацией для OnChartValueSelectedListener метод onValueSelected
может быть переопределен, чтобы содержать дополнительный параметр, Highlight
. Отказ от ответственности Я никогда раньше не использовал эту графическую библиотеку, поэтому может потребоваться некоторое экспериментирование.
Взятые непосредственно из исходного кода chart
найти здесь (линия 562 на момент написания):
https://github.com/PhilJay/MPAndroidChart/blob/master/MPChartLib/src/com/github/mikephil/charting/charts/Chart.java
/**
* Highlights the values represented by the provided Highlight object
* This DOES NOT generate a callback to the OnChartValueSelectedListener.
*
* @param highlight contains information about which entry should be highlighted
*/
public void highlightValue(Highlight highlight) {
highlightValue(highlight, false);
}
Теоретически это будет выделить выбранное значение. Другие методы, которые делают подобные вещи имеют следующие подписи:
public void highlightValue(int xIndex, int dataSetIndex)
public void highlightValues(Highlight[] highs)
public void highlightValue(Highlight high, boolean callListener)
у меня практически никакого представления о андроиде, но это выглядит, как вы называете 'setFillColor' для весь набор данных, а не один элемент. – kazemakase
Но как установить circlecolorhole для одного объекта? –