listView 数据重复加载 怎么办

listView 数据重复加载 怎么办,第1张

1. 先new adapter的时候传入list

2.下载数据add添加list

3.将adapter放入listview

这样,如果你多次运行,就会重复往list里面添加数据,就会造成数据重复,所以在第2步list.add之前list.clear(),new adapter的时候传入list 的时候,重新 new ArrayList(); 一次。

香烟 1 盒

牙膏 1 个

毛巾 1 个

这些数据通过 按钮事件 添加到 listview 中,如果用户选择 2 盒 香烟只能在 listview显示如下:

香烟 1 盒

牙膏 1 个

毛巾 1 个

香烟 1 盒(后增加的数据)

我现在想在 View getView() 方法中如下才能将 2 条 香烟记录合并为一条:如下

香烟 2 盒

牙膏 1 个

毛巾 1 个

------解决方案--------------------------------------------------------

你 ListView 的数据源是 ArrayList 吗 如果是的话,你增加数据时可以用

list.contains(object)方法判断,该数据是否存在,存在即修改数量,不存在就增加条目!

------解决方案--------------------------------------------------------引用:

你 ListView 的数据源是 ArrayList 吗 如果是的话,你增加数据时可以用

list.contains(object)方法判断,该数据是否存在,存在即修改数量,不存在就增加条目!

------解决方案--------------------------------------------------------

主要是为了减少内存的消耗,如果不进行复用,那么创建一千个Item,就需要实例化1千个实例,会造成内存溢出。目前listview采用的策略是,只显示一屏幕的View,当View超过一屏幕,将其移除后放到最下面进行复用。

好处:减少内存占用,避免内存溢出。

坏处:CPU占用会稍微高点,因为会不断重复Iitem的溢出添加。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11395825.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存