Я использую диаграмму из MPAndroidChart
версии 3.
Я для набора меток использовал этот код:
public class MainActivity extends AppCompatActivity {
BarChart chart;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
chart = (BarChart) findViewById(R.id.chart);
List<BarEntry> entries = new ArrayList<>();
entries.add(new BarEntry(0, 2000));
entries.add(new BarEntry(1, 100));
entries.add(new BarEntry(2, 500));
entries.add(new BarEntry(3, 250));
entries.add(new BarEntry(4, 170));
entries.add(new BarEntry(5, 600));
BarDataSet set = new BarDataSet(entries, "Recovery");
BarData data = new BarData(set);
data.setBarWidth(1);
chart.setData(data);
chart.setFitBars(true);
chart.invalidate();
String[] day = new String[]{"day1","day2","day3","day4","day5","day6"};
XAxis xAxis = chart.getXAxis();
xAxis.setValueFormatter(new LabelFormatter(day));
xAxis.setGranularity(1);
}
public class LabelFormatter implements IAxisValueFormatter {
private final String[] mLabels;
public LabelFormatter(String[] labels) {
mLabels = labels;
}
@Override
public String getFormattedValue(float value, AxisBase axis) {
return mLabels[(int) value];
}
}
но, к сожалению, я получаю эту ошибку:
java.lang.ArrayIndexOutOfBoundsException: length=6; index=-1
И этот раздел относится к этому коду:
return mLabels[(int) value];
Я не знаю, что делать.
Как решить эту проблему ?!Спасибо.