listview重用item怎么防止数据刷新错乱

2025-02-02 22:43:15
推荐回答(1个)
回答1:

个人建议,可以通过数据模型来标记一个新闻是否已读的属性。
无论列表怎么变化,如何缓存,列表的适配器的getView方法,更新列表显示时,做新闻是否已读的颜色处理便可。

比如数据模型:

1
2
3
4
5
6

public class NewsItem {
public String title; // 新闻标题
public String text; // 新闻内容
public String iconUrl; // 略缩图URL地址
public boolean visited = false; // 是否已读
}

配置个BaseAdapter,关联到ListView。剩下的工作,OnItemClick做下工作。

ListView的ItemView是复用的,你一直都更新控件的颜色就是了。