我正试着听听折线图上的圆圈点击..但我不能。所以请帮助我。
chart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
@Override
public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {
}
@Override
public void onNothingSelected() {
}
});
我尝试了这个,但它不起作用!。
答案 0 :(得分:2)
很难从你提供的代码中看出来但我在调用chart.setHighlightPerTapEnabled(false)
如果第一眼看不清setHighlightPerTapEnabled
方法也会禁用OnChartValueSelectedListener
我的解决方案是用OnChartValueSelectedListener
替换OnChartGestureListener
。以下是我实施的内容片段:
private class BarChartGestureListener implements OnChartGestureListener {
private int _lastTappedIndex = -1;
/* ... */
@Override
public void onChartSingleTapped(MotionEvent me) {
final Entry entry = _barChart.getEntryByTouchPoint(me.getX(), me.getY());
if (entry != null && _lastTappedIndex != entry.getXIndex()) {
final Object data = entry.getData();
// TODO: Insert your magic here...
}
}
/* ... */
}
在onChartSingleTapped
中,您可以获取被点击的Entry
,并以编程方式突出显示它或您想要的任何其他内容。
答案 1 :(得分:1)
实施OnChartValueSelectedListener
此界面并覆盖以下两种方法
@Override
public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {
Toast.makeText(getContext(),entries.indexOf(e)+"",Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected() {
}
并在lineChart lineChart.setOnChartValueSelectedListener(this);
上添加侦听器
注意:强>
条目是Entry对象的列表。
Toast将显示点击的圆圈索引值。