首页 > 解决方案 > RecyclerView 适配器如何显示多个不同的 GraphView 图?

问题描述

我想在卡片列表中显示传入蓝牙传感器数据的实时图表。

我已经尝试使用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 个单独的系列中。

标签: androidandroid-recyclerviewandroid-adapterandroid-graphview

解决方案


推荐阅读