2014-08-27 78 views
1

在我的Android应用程序中,我尝试使用AChartEngine将触摸添加到折线图。我用这个简单的例子:AChartEngine:如何识别折线图?

我添加了一个点击监听器图形

this.graphView = ChartFactory.getLineChartView(this, this.graphDataset, 
     this.graphRenderer); 
.... 

this.graphView.setOnClickListener(buttonClickListenerGraph); 

和buttonClickListenerGraph方法中,我这样做:

SeriesSelection seriesSelection = this.graphView.getCurrentSeriesAndPoint(); 
if (seriesSelection == null) { 
    Toast.makeText(this, "No chart element", Toast.LENGTH_SHORT).show(); 
} else { 
    // display information of the clicked point 
    Toast.makeText(
     this, 
     "Chart element in series index " + seriesSelection.getSeriesIndex() 
      + " data point index " + seriesSelection.getPointIndex() + " was clicked" 
      + " closest point value X=" + seriesSelection.getXValue() + ", Y=" 
      + seriesSelection.getValue(), Toast.LENGTH_SHORT).show(); 
} 

我也启用单击

this.graphRenderer.setClickEnabled(true); 

其中graphRenderer是XYMultipleSeriesRenderer。

但这总是返回“没有图表元素”烤面包。为什么它不认可系列和行?有人可以帮忙吗?

+0

http://stackoverflow.com/questions/15764800/android-achartengine-getcurrentseriesandpoint-not-working-for-disconnected-g – keshav 2014-08-30 06:31:11

+0

@keshav的感谢!但我已经在使用更高版本的AChartengine,即1.2.0。所以,它应该在你发给我的链接中有修复。但它仍然无法正常工作。 – Jean 2014-09-02 09:35:48

回答

1

您可以控制可点击点的“可选缓冲区”,这意味着以点击点为中心的平方的一半。 AChartEngine将搜索整个广场区域以找到可点击的候选点并返回最近的点。

mRenderer.setSelectableBuffer(circleRadiusInPixels); 
+0

让我试试@Dan!谢谢! – Jean 2014-09-05 14:18:53