MPAndroidChart:刷新标记视图内容时,条目数据为空

时间:2017-05-26 12:21:56

标签: android mpandroidchart

我正在使用MPAndroidChart来创建分组条形图。一切都很好,但我无法正确显示MarkerView。

我想根据条目索引在MarkerView中显示一些信息,但我只能检索x或y值。

refreshContent方法

@Override
public void refreshContent(Entry e, Highlight highlight) {
        Log.d("MARKER", "x:" + e.getX() + " | y:" + e.getY() 
                + " | hx:" + highlight.getX() + " | hy:" + highlight.getY() 
                + " | dataindex:" + highlight.getDataIndex()
                + " | datasetindex:" + highlight.getDataSetIndex());
        super.refreshContent(e, highlight);
}

这是我的日志输出:

x:2.7349997 | y:65.0 | hx:2.7349997 | hy:65.0 | dataindex:1 | datasetindex:1

无论我点击哪个栏,数据索引始终为1。 Datasetindex根据组栏中的索引显示正确的值。

我意识到我可以使用getData()中的Entry方法,所以我为每个BarEntry使用了另一个构造函数:

new BarEntry(x, y, "extraData");

但是e.getData()中的refreshContent为空。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

诀窍在我的图表上,因为它是由条形图和折线图组成的。因此,当我点击我的图表中的某个点时,由于我的折线图中的点按,我收到refreshContent事件。然后,如果我为每个折线图条目设置数据对象,现在它在refreshContent方法上接收。但是我的解决方案是禁用突出显示到行数据集:

lineDataSet.setHighlightEnabled(false);

这样,图表上的每个点击都始终属于条形图。