有谁知道,如何在MPAndroid图表中重置所选项目 - PieChart? 我需要能够点击一个项目,例如"十万"时间,但每隔一段时间它就会给我 onNothingSelected()事件而不是 onValueSelected()
我只需要调用onValueSelected()事件。
有人可以帮忙吗?
谢谢
答案 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)
}