2016-04-13 3 views
1

Hallo Ich versuche, ein Diagramm mit dieser Bibliothek zu ziehen, aber seine Einträge statisch wie:JJOE64 Android graphview Satz LineGraphSeries Dynamisch

LineGraphSeries<DataPoint> series = new LineGraphSeries<DataPoint>(new DataPoint[] { 

         new DataPoint(0, 1), 
         new DataPoint(1, 5), 
         new DataPoint(2, 3), 
         new DataPoint(3, 2), 
         new DataPoint(4, 6) 
       }); 
       graph.addSeries(series); 

Wie kann ich dieses Problem beheben, die ex akzeptiert. eine Listenansicht Elemente, die zur Laufzeit erstellt? Basicly möchte ich etwas wie folgt aus:

for (int i = 0; i < list.size(); i++) { 
LineGraphSeries<DataPoint> series = new LineGraphSeries<DataPoint>(new DataPoint[] { 

         new DataPoint(i, list.getElement()), 
}); 
} 

Antwort

4

so etwas wie dieses Versuchen:

DataPoint[] dataPoints = new DataPoint[list.size()]; // declare an array of DataPoint objects with the same size as your list 
for (int i = 0; i < list.size(); i++) { 
    // add new DataPoint object to the array for each of your list entries 
    dataPoints[i] = new DataPoint(i, list.getElement()); // not sure but I think the second argument should be of type double 
} 

LineGraphSeries<DataPoint> series = new LineGraphSeries<DataPoint>(dataPoints); // This one should be obvious right? :) 
+0

es so viel greate Dank funktioniert. Eine weitere Frage scheint x Achse auf i basiert. Wie kann ich es durch Zeit ersetzen? Ich habe eine Liste, die mit etwas Wert und Wert-Zeit abgeschlossen ist. Ich will Y-Achse ist Wert (es ist ok.) Und X-Achse ist Zeit, wie kann ich das arrangieren? – mesopotamia

+0

StaticLabelsFormatter staticLabelsFormatter = neuer StaticLabelsFormatter (yourGraphView); staticLabelsFormatter.setHorizontalLabels (neue Zeichenfolge [] { time1, time2, time3, etc}); yourGraphView.getGridLabelRenderer(). SetLabelFormatter (staticLabelsFormatter); Sie können zum Beispiel mit diesem spielen oder hier [link] (http://www.android-graphview.org/documentation/category/labels-and-label-formatter) –

+0

, wenn Sie die Daten ändern wollen, schauen Sie Bei den Methoden appendData und resetData auf dem Series-Objekt – appsthatmatter