Я хочу отображать живые графики входящих данных датчика Bluetooth в списке карт.
Я попытался использовать функцию AppendData()
для каждой серии, которая содержит данные для различных датчиков. Серия хранится в списке.
Сначала я инициализирую список рядов некоторыми сериями, содержащими фиктивные данные:
private List<PointsGraphSeries<DataPoint>> dataSeriesList = Arrays.asList(initSeries, initSeries, initSeries, initSeries, initSeries, initSeries);
Затем в onBindViewHolder()
я обновляю каждую серию с новым чтением:
public void onBindViewHolder(@NonNull ProductCardViewHolder holder, int position) {
....
dataSeriesList.get(position).appendData(newReading, true, 40);
....
//I set the series to the GraphView just once, like so:
if (holder.graph.getSeries().size() == 0)
holder.graph.addSeries(dataSeriesList.get(position));
...
}
Я ожидаю, что у меня будет 6 разных графиков, каждый из которых отображает значения для одного датчика, так как я добавляю разные серии в списке для каждого position
.
Вместо этого я получаю 6 идентичных графиков, которые отображают все 6 различных значений датчика для каждой точки на оси x.
Я подтвердил, используя logcat, что на каждом графике отображается только одна серия, это означает, что каждая серия каким-то образом содержит все данные. Я не понимаю почему, так как я четко добавляю свои показания к 6 отдельным сериям.