如何在PieChart中选择项目后重置选择

时间:2015-04-15 21:15:43

标签: android mpandroidchart

有谁知道,如何在MPAndroid图表中重置所选项目 - PieChart? 我需要能够点击一个项目,例如"十万"时间,但每隔一段时间它就会给我 onNothingSelected()事件而不是 onValueSelected()

我只需要调用onValueSelected()事件。

有人可以帮忙吗?

谢谢

5 个答案:

答案 0 :(得分:7)

哇,我真的想要答案,最后,我解决了这个问题。

答案很简单。

chart.getOnTouchListener().setLastHighlighted(null);    
chart.highlightValues(null);

在将highlightValues设置为null之前,您还需要初始化最后触摸的突出显示值!

答案 1 :(得分:1)

它位于文档中:https://github.com/PhilJay/MPAndroidChart/wiki/Interaction-with-the-Chart

onValueSelected()方法内,请致电

chart.highlightValues(null);

撤消所有突出显示。

答案 2 :(得分:1)

我不知道你是否解决了问题。但是,如果有人遇到同样的问题,这里有一个使用条形图的解决方案:

{{1}}

答案 3 :(得分:0)

使用Kotlin和MP Android图表的v3.1.0:

onValueSelected()通话结束时

chart.isSelected = false
chart.highlightValues(null)

chart.isSelected是来自View类的属性,取消选择整个图表还会取消选择所选/突出显示的条目。

答案 4 :(得分:0)

正如@Phillip 所说,您可以从 onNothingSelected() 调用 onValueSelected(), 对于 Entry 创建一个全局变量并在 onValueSelected() 中对其进行初始化,因为我们知道所选条目是相同的

override fun onValueSelected(e: Entry?, h: Highlight?) {
        Log.d(TAG, "onValueSelected: e ${e.toString()}")
        Log.d(TAG, "onValueSelected: h ${h.toString()}")

        e!!.y += 10.0f
        lastEntry = e
        binding.barChart.invalidate()

    }

    override fun onNothingSelected() {
        Log.d(TAG, "onNothingSelected: called")

        onValueSelected(lastEntry,null)
    }