gpt4 book ai didi

java - 如何在 onDataChange + Glide 循环 "for"继续之前等待图像加载?

转载 作者:行者123 更新时间:2023-11-29 23:27:29 24 4
gpt4 key购买 nike

我知道onDataChange下载是异步的,但是body有UI Thread。并且使用 Glide 加载图片也是异步的。 onDataChange 正在执行,它到达了 UI 线程的主体,但是图像在新线程中加载,因此,图像没有时间加载,如何进一步执行代码。

myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
...
if(word.contains("https")){
Glide.with(Activity.this)
.load(url)
.into(imageView);
}else{
Log.d(TAG, "Another");
}
}
}
}

这是 Firebase 数据库。

如何在“for”循环继续之前等待图像加载?

最佳答案

如果您使用的是 Glide-v4,您可以像这样设置一个用于加载图像的监听器:

Glide.with(Activity.this)
.load(url)
.listener(new RequestListener<Drawable>() {

@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
return false;
}

@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
imageSend(imageView);
return false;
}
})
.into(imageView);

关于java - 如何在 onDataChange + Glide 循环 "for"继续之前等待图像加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53314573/

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