MPAndroidChart点击图表上的监听器

Pal*_*akp 2 android mpandroidchart

我正在使用MPAndroidChart,并想知道如何在下面的图表上执行点击事件并获得相关的回调:饼图:点击特定原因打开其详细信息.条形图:点击任意栏打开其详细信息.堆积条形图:点击任意栏打开其详细信息.

单击图表时,我需要收到通知.

Phi*_*oda 10

使用OnChartValueSelectedListener.您可以在此处找到有关如何实施它的文档.

此侦听器允许您对图表上执行的单击手势做出反应.

  • 此外,如果只想触发点击而不是手指滑动或拖动,您需要确保禁用此图表.setHighlightPerDragEnabled(false); 否则,如果您在条形图中滑动,则会触发此侦听器. (3认同)

Hos*_*deh 6

用于LineChart

   chart.setOnChartValueSelectedListener(new OnChartValueSelectedListener()
    {
        @Override
        public void onValueSelected(Entry e, Highlight h)
        {
            float x=e.getX();
            float y=e.getY();
        }

        @Override
        public void onNothingSelected()
        {

        }
    });
Run Code Online (Sandbox Code Playgroud)


小智 5

对于 LineChart,如果您在 Kotlin 中使用显示的非浮点值,请使用以下代码

lineChart.setOnChartValueSelectedListener(object : OnChartValueSelectedListener 
       {
        override fun onValueSelected(e: Entry, h: Highlight?) {
            val x = e.x.toString()
            val y = e.y
            val selectedXAxisCount = x.substringBefore(".") //this value is float so use substringbefore method
            // another method shown below
            val nonFloat=lineChart.getXAxis().getValueFormatter().getFormattedValue(e.x)
            //if you are display any string in x axis you will get this
        }

        override fun onNothingSelected() {}
    })
Run Code Online (Sandbox Code Playgroud)

快乐编码...