首页 文章

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

提问于
浏览
0

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

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

refreshContent method

@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

无论我点击哪个栏,Dataindex总是1 . Datasetindex根据组栏中的索引显示正确的值 .

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

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

但是, e.getData()refreshContent 中为空 .

我究竟做错了什么?

1 回答

  • 1

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

    lineDataSet.setHighlightEnabled(false);
    

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

相关问题