gpt4 book ai didi

bitmap - getDrawable() 在尝试从 imageview 获取位图时给出空对象

转载 作者:行者123 更新时间:2023-12-04 17:46:07 25 4
gpt4 key购买 nike

我正在使用 glide 进行 ImageView ,我想从该 ImageView 中获取位图--

ImageView imageView = (ImageView) findViewById(R.id.dp);
Glide.with(this).load("http://graph.facebook.com/1615242245409408/picture?type=large").into(imageView);
Bitmap fbbitmap2 = ((BitmapDrawable)imageView.getDrawable()).getBitmap();

但它给
java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.Bitmap android.graphics.drawable.BitmapDrawable.getBitmap()' on a null object reference

帮帮我。

最佳答案

Glide 异步加载图像,因此您对位图的测试,在启动加载操作之后将返回 null,因为图像尚未加载。

要知道您的图像何时确实已加载,您可以在 Glide 请求中设置一个监听器,例如:

Glide.with(this)
.load("http://graph.facebook.com/1615242245409408/picture?type=large")
.listener(new RequestListener<Uri, GlideDrawable>() {
@Override
public boolean onException(Exception e, Uri model, Target<GlideDrawable> target, boolean isFirstResource) {
return false;
}

@Override
public boolean onResourceReady(GlideDrawable resource, Uri model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
// drawable is in resource variable
// if you really need to access the bitmap, you could access it using ((GlideBitmapDrawable) resource).getBitmap()
return false;
}
})
.into(imageView);

关于bitmap - getDrawable() 在尝试从 imageview 获取位图时给出空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34252258/

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