|
29 | 29 | public class DynamicalAddingActivity extends DemoBase implements OnChartValueSelectedListener { |
30 | 30 |
|
31 | 31 | private LineChart chart; |
| 32 | + Double[] sampleValues = DataTools.Companion.getValues(102); |
32 | 33 |
|
33 | 34 | @Override |
34 | 35 | protected void onCreate(Bundle savedInstanceState) { |
@@ -70,11 +71,14 @@ private void addEntry() { |
70 | 71 | data.addDataSet(set); |
71 | 72 | } |
72 | 73 |
|
73 | | - int randomDataSetIndex = (int) (Math.random() * data.getDataSetCount()); |
74 | | - ILineDataSet randomSet = data.getDataSetByIndex(randomDataSetIndex); |
75 | | - float value = (float) (Math.random() * 50) + 50f * (randomDataSetIndex + 1); |
| 74 | + int lastDataSetIndex = data.getDataSetCount() - 1; // add data only to the last |
| 75 | + ILineDataSet lastSet = data.getDataSetByIndex(lastDataSetIndex); |
76 | 76 |
|
77 | | - data.addEntry(new Entry(randomSet.getEntryCount(), value), randomDataSetIndex); |
| 77 | + int cycleValue = (int) (lastSet.getEntryCount() % 100.0); |
| 78 | + |
| 79 | + float value = (float) (sampleValues[cycleValue].floatValue() * 50) + 50f * (lastDataSetIndex + 1); |
| 80 | + |
| 81 | + data.addEntry(new Entry(lastSet.getEntryCount(), value), lastDataSetIndex); |
78 | 82 | data.notifyDataChanged(); |
79 | 83 |
|
80 | 84 | // let the chart know it's data has changed |
@@ -123,7 +127,9 @@ private void addDataSet() { |
123 | 127 | ArrayList<Entry> values = new ArrayList<>(); |
124 | 128 |
|
125 | 129 | for (int i = 0; i < amount; i++) { |
126 | | - values.add(new Entry(i, (float) (Math.random() * 50f) + 50f * count)); |
| 130 | + int cycleValue = (int) (i % 100.0); |
| 131 | + |
| 132 | + values.add(new Entry(i, (float) (sampleValues[cycleValue].floatValue() * 50f) + 50f * count)); |
127 | 133 | } |
128 | 134 |
|
129 | 135 | LineDataSet set = new LineDataSet(values, "DataSet " + count); |
|
0 commit comments