如何onClickListen MP Android线图圈?

时间:2015-12-14 14:01:44

标签: android mpandroidchart

我正试着听听折线图上的圆圈点击..但我不能。所以请帮助我。

chart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
    @Override
    public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {

    }

    @Override
    public void onNothingSelected() {

    }
});

我尝试了这个,但它不起作用!。

2 个答案:

答案 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将显示点击的圆圈索引值。