Iam lavora su un'app per Android e utilizza AChartEngine per la creazione di grafici a barre. Tutto funziona come dovrebbe, tranne che non riesco a capire quale barra del grafico viene toccata (non cliccato). Sembra che .getCurrentSeriesAndPoint() non funzioni all'interno di OnTouchListener. Ogni volta restituisce NULL. Quando utilizzo OnClickListener, tutto funziona correttamente, ma ho bisogno di sapere quale barra viene toccata (Action_Down e Action_Up) non cliccata.android achartengine - Come riconoscere quale barra viene toccata in un grafico a barre?
Is .getCurrentSeriesAndPoint() non funziona in un TouchListener in generale? C'è una soluzione alternativa o un altro modo per capire quale barra viene toccata?
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;
}
});
Cordiali saluti Christian
Hi @ChristianR si può si prega di inviare l'intero codice. – user1844638