gpt4 book ai didi

java - picasso 不会在第一次通话时加载图像

转载 作者:搜寻专家 更新时间:2023-11-01 09:34:47 24 4
gpt4 key购买 nike

我遇到了一个非常有趣的问题。我正在使用波纹管代码使用 picasso 加载位图:

           final Target target = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
// loaded bitmap is here (bitmap)
Log.i(TAG, "bitmapLoaded");
imageView.setImageBitmap(bitmap);
}

@Override
public void onBitmapFailed(Drawable errorDrawable) {
Log.i(TAG, "bitmapFailed");
}

@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {

}
};

imageView.setTag(target);

Picasso.with(this)
.load(photoUrl)
.into(target);

我知道很多人都问过很多关于 picasso 由于引用不足而无法加载图像的问题,但我认为情况并非如此,因为我已经按照许多主题中建议的解决方案来引用上述目标。

在我的程序中,我在 3 个不同的类和 3 个不同的时刻使用相同的代码。我注意到的是,每当我第一次调用此方法时,它都不起作用,但在下一次它起作用时,使用 3 个调用中的哪一个都无关紧要。我可以这么说,因为我通过这 3 种不同的方法将不同的消息打印到日志中。

关于正在发生的事情有什么想法或者我错过了什么吗?

提前谢谢你。

最佳答案

尝试使用异步方法来实现这一点。

  Picasso.with(context).load(URL).into(profile, new Callback() {
@Override
public void onSuccess() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {//Use your "bitmap" here

Bitmap innerBitmap = ((BitmapDrawable) profile.getDrawable()).getBitmap();
}
}, 100);
}

您也可以尝试使用Glide https://github.com/bumptech/glide

关于java - picasso 不会在第一次通话时加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44245918/

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