添加项目时ListView会闪烁

时间:2013-06-14 21:01:38

标签: java android android-listview

在我的应用程序中,我有一个带有ArrayAdapter的ListView。每个项目都包含一张图片,需要一些时间来渲染。 现在我想在List的末尾动态添加项目。问题是,我们每次add()被称为我的列表闪烁,因为调用notifyDataSetChanged()并且我的图片需要几毫秒才能渲染。我试图通过调用setNotifyOnChange(false)来避免这种情况。我解决了闪烁的问题,但不幸的是,它只是不规则地更新了我的列表的“长度”。 有没有办法更新我的列表视图的“长度”,而不更新显示的视图?

1 个答案:

答案 0 :(得分:0)

我同意应避免使用UI线程,特别是对于列表,尤其是在为每个列表项使用图像时。 也许你需要找到一个更强大的列表适配器,面向图像?有关如何改进自己的列表的一些有用的想法/提示,请参阅this question

此外,在获取用于arrayadapter的图像时,AndroidQuery(AQuery)库可能很有用:Image Loading via AQuery。它也照顾了图像缓存的负担,我发现它非常有用。