我想在卡片列表中显示传入的蓝牙传感器数据的实时图形。
我尝试对保存各种传感器数据的每个系列使用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个相同的图,它们在x轴上的每个点显示所有6个不同的传感器值。
我已使用logcat确认每个图形仅显示一个系列,这意味着每个系列都以某种方式包含所有数据。我不明白为什么,因为我清楚地将自己的阅读材料附加到6个单独的系列中。