Как адаптер RecyclerView может отображать несколько разных графиков GraphView? - PullRequest
0 голосов
/ 30 мая 2019

Я хочу отображать живые графики входящих данных датчика 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 отдельным сериям.

...