Iam làm việc trên một ứng dụng Android và sử dụng AChartEngine cho biểu đồ thanh. Mọi thứ đều hoạt động vì nó nên ngoại trừ việc tôi không thể tìm ra thanh nào trong biểu đồ được chạm (không được nhấp). Có vẻ như .getCurrentSeriesAndPoint() không hoạt động trong OnTouchListener. Đó là mọi thời gian trả về NULL. Khi tôi đang sử dụng OnClickListener, mọi thứ đều hoạt động tốt, nhưng tôi cần biết thanh nào được chạm (Action_Down và Action_Up) không được nhấp.android achartengine - Cách nhận biết thanh nào được chạm vào biểu đồ thanh?
Có phải .getCurrentSeriesAndPoint() không hoạt động trong TouchListener nói chung không? Có cách giải quyết hay cách khác để nhận ra thanh nào được chạm vào?
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;
}
});
loại coi Christian
Hi @ChristianR bạn có thể xin vui lòng gửi toàn bộ mã. – user1844638