gpt4 book ai didi

android - 在 ListView 中滚动时滑动重新加载内容

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:15:10 25 4
gpt4 key购买 nike

我正在使用 glide 加载内容,我使用它在页面中加载 1 个图像,如果我关闭并重新打开我的应用程序,它工作正常。问题是当我在 listview 上使用它时,glide 总是重新下载它。
详细错误步骤:

  1. 从服务器加载内容后,所有图像显示正常
  2. 然后向下滚动,新内容也显示正常
  3. 当我向后滚动时,所有图像都消失了,但 1 秒后我的图像再次出现,因为 Glide 加载它就像 Glide 之前从未加载它一样。
  4. 如果我有纵向方向,第一次加载时,它将填充布局宽度,但第二次(向后滚动 ListView )图像看起来更小而不是全宽。

这是我截取的代码

View view = convertView;
if (null == view) {
view = View.inflate(parent.getContext(), R.layout.item, null);
}

ImageView ivAvatar = (ImageView) view.findViewById(R.id.iv_avatar);
ImageView ivPicture = (ImageView) view.findViewById(R.id.iv_picture);
TextView tvName = ....
...
tvName.setText(.....);

Glide.with(parent.getContext()).load(Api.getUrlImage(contents.get(position).avatar, 50, 0)).into(ivAvatar);
Glide.with(parent.getContext()).load(Api.getUrlImage(contents.get(position).picture, 400, 0)).into(ivPicture);

在第 3 点,它就像一个闪烁,但 ImageView 失去了它的高度。图像下方的文本上升(就像那里没有 ImageView )然后在滑动完成加载图像后返回
在第 4 点,我的屏幕分辨率为 480 像素,我加载了 400 像素的图像(由服务器调整大小),如第二个滑动代码所示。

my question, how to remove this blinking image?

*我在低规范设备和高规范设备 (samsung tab s) 上运行它,并且在两个设备上都发生了闪烁

最佳答案

在适配器的 onCreateView 方法中使用 glide 之前尝试使用 if

像这样

if (yourImageView.getDrawable() == null)
// load your image

所以如果图像已经加载该方法不返回 null

关于android - 在 ListView 中滚动时滑动重新加载内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37598648/

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