gpt4 book ai didi

android - RecyclerView - 再次绑定(bind) View 持有者

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:31 26 4
gpt4 key购买 nike

TL,DR:我怎样才能强制回收器 View 再次调用 onBindViewHolder 方法,至少对于可见项目?

调用notifyDataSetChanged()会使列表滞后几毫秒,有没有更好的办法?谢谢。

我有一个带有 ImageView 的布局。每当为 ImageView 调用绑定(bind)时,我都会向服务器发送请求以获取图像。加载图像时,我将位图保存在 ViewHolder 的 T 变量中。在绑定(bind)方法中,我检查 variable.getBitmap() 是否为 null,如果是,我将设置 imageview。现在,如果我滚动我的列表,图像将被加载,但如果没有, ImageView 仍然是空白的,因为没有再次调用 onBindViewHolder。

谢谢。

最佳答案

notifyDataSetChanged() 绝对是正确的方法。也许 notifyItemChanged() 更好,因为它只绑定(bind)所选项目。如果我答对了你的问题,那么你似乎在主线程上做了一些不应该在那里做的事情。请记住:切勿在主线程上执行可能冗长的操作,而应始终使用 AsyncTask 之类的东西。

我认为异步下载图像然后将其缓存是一种更好的方法,因此您不必在每次回收View 时都下载它。有它的库。

在加载图像时,您可以显示一个 ProgressBar 或其他提示用户图像正在加载的东西。

关于android - RecyclerView - 再次绑定(bind) View 持有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29451768/

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