我从后端收到大量数据,我需要以不同的方式在应用程序的两个部分中显示这些数据,例如绘制实时图表。有问题的部分之一是一个矩形,这只是一个精心设计的滚动条(拖动下图中看到的框架以更改当前显示的通道集)。
无需过多介绍细节,我有一个通道列表,对于每个通道,我在该矩形内生成一条线。它最终应该看起来像这样:
每行的颜色还取决于每个通道的类型和状态,因此每行都有一点逻辑,这意味着它必须是一个视图而不仅仅是一个 png。该矩形无法滚动,它是静态视图。所以我在想,有没有办法在没有 ListView 的情况下使用适配器(类似 ArrayAdapter 之类的东西)?我想要一个 LinearLayout,并且在该 LinearLayout 内我希望为列表内的每个通道对象创建一条线。我应该只做一个 foreach 循环吗?
“
和ListView
已经过时了好几年。它们已被ListAdapter
和RecyclerView
取代。对于这种情况,由于您的内容不可滚动,因此会出现RecyclerView.Adapter
(或LinearLayout
) Compose UI)看起来不错。适配器似乎没有必要,因为这些情况适用于需要滚动并且需要能够在用户滚动时动态创建大型数据集的视觉表示的情况。” - @CommonsWare
Row()
在上述情况下,适当的解决方案是
for each
循环 List
以创建 Views
并将其添加到 LinearLayout
。适配器是不必要的,因为在这种情况下不需要滚动。