onValueSelected () не вызывается в BarChart, вместо этого onNothingSelected () вызывается каждый раз, когда я нажимаю на любой бар или в любом месте BarChart - PullRequest
2 голосов
/ 03 июля 2019

Я установил OnChartValueSelectedListener для BarChart, но когда я щелкаю по любой панели или в любом месте в BarChart, только onNothingSelected() звонит, а onValueSelected не звонит, ни разу.Я хочу получить обратный звонок, который скажет мне, какая панель была выбрана.

Я попытался установить setOnChartGestureListener (), но это также не работает.Пожалуйста, помогите мне решить проблему.

mBarChart.setOnChartValueSelectedListener(this);
mBarChart.setHighlightFullBarEnabled(true);
ArrayList<BarEntry> yValsProp1 = new ArrayList<>();
for (int i = 0; i < mFeeAmount.size(); i++) {
    float f1 = mFeeAmount.get(i).floatValue();
    float f2 = mFineAmount.get(i).floatValue();

    yValsProp1.add(new BarEntry(i, new float[]{f1, f2}));
}
//Setting data to the bar
BarDataSet barDataSet = new BarDataSet(yValsProp1, " ");
barDataSet.setColors(getColors());
barDataSet.setHighlightEnabled(false);
barDataSet.setDrawValues(true);
BarData barData = new BarData(barDataSet);
barData.setBarWidth(0.55f);
mBarChart.setScaleEnabled(false);
mBarChart.getDescription().setEnabled(false);
mBarChart.getLegend().setEnabled(false);

//hiding Axis lines
mBarChart.getAxisLeft().setDrawAxisLine(false);
mBarChart.getAxisRight().setDrawAxisLine(false);
mBarChart.setFitBars(false);
mBarChart.setDrawValueAboveBar(true);
mBarChart.setData(barData);
mBarChart.setClipValuesToContent(false);

mBarChart.setVisibleXRange(6, 6);
mBarChart.getLegend().setForm(Legend.LegendForm.CIRCLE);
mBarChart.invalidate();

1 Ответ

0 голосов
/ 05 июля 2019

Я понял, что я делаю не так, я просто удалил эту строку

barDataSet.setHighlightEnabled(false);

по умолчанию это будет правда.

...