gpt4 book ai didi

android - RecyclerView : Async image-loading

转载 作者:IT老高 更新时间:2023-10-28 23:03:43 29 4
gpt4 key购买 nike

我正在使用 RecyclerView 来显示一个包含 imageView 的列表。为了使 UI 更流畅,我使用 asyncTask 将保存在 sd 卡上的 58dp 缩略图加载到这些 imageViews 中。

问题是,一旦 childView 出现在可视化显示中,来自另一个数据的旧图像将被重用,然后在 AsyncTask 完成后替换。我可以通过在 onPreExecute 中将 imageView 位图设置为 null 来停止洗牌。

有没有办法真正重用旧图像,或者每次新的 View 出现时我真的必须从 sd 卡加载图像?这使得 View 非常难看,因为要么首先有错误的图像,要么图像是纯白色的。

最佳答案

由于 View 重用,您将获取已包含内容的 View ,如果您使用 ViewHolder 模式,这也是 ListViews 的问题,您应该这样做.

这里有两种解决方案,好的做法和坏的 hack:

  • 在最佳实践中,您将 ImageView 设置为在bindViewHolder(VH holder, int position) 的开头使用setDrawable(null) 或类似的。

  • 在糟糕的 hack 中,您不会回收/重用 View ,不会强制执行 ViewHolder 模式,并且每次都会对其进行膨胀,但这仅在 ListView 中允许 和其他旧组件。

关于android - RecyclerView : Async image-loading,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26525999/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com