在MPAndroidChart中,如何为Barchart中的每个Bar添加click事件? [英] In MPAndroidChart, how to add the click event for the each Bar in Barchart?

查看:1160
本文介绍了在MPAndroidChart中,如何为Barchart中的每个Bar添加click事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用MPAndroidChart库实现了Barchart,如何实现Barchart中每个栏的点击侦听器.我想在Toast中显示被点击的bar值.如何实现这一点?

Am using MPAndroidChart library to implemented the Barchart, How to implement the click listener for each bar in Barchart.I want to show the clicked barvalue in Toast.How to implement this one ?

mChart = (BarChart) findViewById(R.id.chart1);
mChart.setDrawYValues(true);
mChart.setDrawValueAboveBar(true);
mChart.setDescription("");
mChart.setMaxVisibleValueCount(10);
mChart.set3DEnabled(false);

mChart.setPinchZoom(false);
mChart.setUnit(" mg/dL");
mChart.setDrawGridBackground(false);
mChart.setDrawHorizontalGrid(true);
mChart.setDrawVerticalGrid(false);
mChart.setValueTextSize(10f);
mChart.setDrawBorder(false);


XLabels xl = mChart.getXLabels();
xl.setPosition(XLabelPosition.BOTTOM);
xl.setSpaceBetweenLabels(10);
xl.setCenterXLabelText(true);

YLabels yl = mChart.getYLabels();
yl.setLabelCount(8);
yl.setPosition(YLabelPosition.LEFT);

setData();

Legend l = mChart.getLegend();
l.setPosition(LegendPosition.BELOW_CHART_RIGHT);
l.setFormSize(8f);
l.setXEntrySpace(4f);

mChart.animateY(3000);


private void setData() {

    ArrayList<String> xVals = new ArrayList<String>();
    xVals.add("F");
    xVals.add("PP");
    xVals.add("U");
    xVals.add("C");
    xVals.add("TC");
    xVals.add("Tri");
    xVals.add("HDL");
    xVals.add("LDL");
    xVals.add("VLDL");

    ArrayList<BarEntry> yVals1 = new ArrayList<BarEntry>();
    yVals1.add(new BarEntry(95, 0));
    yVals1.add(new BarEntry(99, 1));
    yVals1.add(new BarEntry(19, 2));
    yVals1.add(new BarEntry((float) 1.21, 3));
    yVals1.add(new BarEntry(250, 4));
    yVals1.add(new BarEntry(323, 5));
    yVals1.add(new BarEntry(47, 6));
    yVals1.add(new BarEntry(135, 7));
    yVals1.add(new BarEntry(68, 8));


    BarDataSet set1 = new BarDataSet(yVals1, "");
    //set1.setColors(ColorTemplate.VORDIPLOM_COLORS);
    set1.setColors(new int[]{R.color.green,R.color.green,R.color.green,R.color.green,R.color.margin,R.color.red,R.color.green,R.color.green,R.color.green},getApplicationContext());
    set1.setBarSpacePercent(50f);

    ArrayList<BarDataSet> dataSets = new ArrayList<BarDataSet>();
    dataSets.add(set1);

    BarData data = new BarData(xVals, dataSets);

    mChart.setData(data);
}

推荐答案

尝试实现mpandroidchart库中存在的 OnChartValueSelectedListener

Try implementing OnChartValueSelectedListener present in the mpandroidchart library

这篇关于在MPAndroidChart中,如何为Barchart中的每个Bar添加click事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆