我正在开发一个 android 应用程序并使用 AChartEngine 制作条形图。一切正常,除了我无法确定图表中的哪个条被触摸(未单击)。似乎 .getCurrentSeriesAndPoint() 在 OnTouchListener 中不起作用。每次都返回NULL。当我使用 OnClickListener 时,一切正常,但我需要知道哪个栏被触摸(Action_Down 和 Action_Up)没有被点击。
.getCurrentSeriesAndPoint() 通常不能在 TouchListener 中工作吗?是否有解决方法或其他方法来实现触摸哪个栏?
mChartView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:{
Toast.makeText(MainActivity.this, "DOWN", Toast.LENGTH_SHORT) .show();
if(seriesSelection != null) touchedBar = seriesSelection.getPointIndex();
break;}
case MotionEvent.ACTION_UP:{
Toast.makeText(MainActivity.this, "UP", Toast.LENGTH_LONG) .show();
touchedBar = 0;
break;}
default: break;
}
mRenderer.removeAllRenderers();
r.setColor(Color.RED);
r.setSelectedBar(ClickedBar);
mRenderer.addSeriesRenderer(r);
mChartView.repaint();
return true;
}
});
亲切的问候克里斯蒂安