我有一个简单的listView
带有简单的适配器,我每5秒获得一个新的实时内容(它表示带有更改项目的数据)。我必须使用新值更新某些行,因此我在列表中clear
适配器和addAll
,但随后所有列表都冻结并向上滚动。
如果它是一个简短的列表,一切都很好,当我有一个带滚动的长列表时,问题就变成了。
我的任务有更好的解决方案吗?我怎么能只监视更改的行并在那里重绘?
答案 0 :(得分:1)
而不是ListView使用RecyclerView。 RecyclerView允许刷新和添加单个元素列表。
答案 1 :(得分:0)
所以我的解决方案是。因为我有异常列表(我从后端获得响应,每行有不同的值,我必须对它进行分组并为每一行生成唯一的布局),所以我使用了一个TableLayout,我生成了每一行并放了它发送到Map
,当我收到新的回复时,我会检查新值,如果有不同的话,我会从View
获取Map
并绑定新数据。