2014-08-27 3 views
1

Dans mon application Android, j'essaie d'ajouter une touche à un graphique en ligne en utilisant AChartEngine. J'ai utilisé cet exemple simple:AChartEngine: comment reconnaître le graphique tactile?

J'ai ajouté un écouteur de clic sur le graphique

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

this.graphView.setOnClickListener(buttonClickListenerGraph); 

et dans la méthode buttonClickListenerGraph que je fais ceci:

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(); 
} 

I ont également permis de cliquer

this.graphRenderer.setClickEnabled(true); 
Où graphRenderer est XYMultipleSeriesRenderer

.

Mais cela renvoie toujours un toast "sans élément de graphique" au toucher. Pourquoi ne reconnaît-il pas la série et la ligne? Puis-je avoir une aide s'il vous plait?

+0

http://stackoverflow.com/questions/15764800/android-achartengine-getcurrentseriesandpoint-not-working-for-disconnected-g – keshav

+0

@keshav merci! mais j'utilise déjà une version ultérieure d'AChartengine, c'est-à-dire 1.2.0. Donc, il devrait avoir le correctif dans le lien que vous m'avez envoyé. Mais ça ne marche toujours pas. – Jean

Répondre

1

Vous pouvez contrôler le "tampon sélectionnable" du point cliquable, c'est-à-dire la moitié du côté d'un carré centré sur le point cliqué. AChartEngine recherchera sur toute la zone carrée pour trouver un candidat pour un point cliquable et retournera le plus proche.

mRenderer.setSelectableBuffer(circleRadiusInPixels); 
+0

laissez-moi essayer ce @Dan! Merci! – Jean

Questions connexes