我正在用Java构建一个视频播放应用程序,其中我使用了三个片段。(使用一个简单的ListView小部件),我使用一个Custom Adapter来传递这些视频的标题和位图缩略图/uri路径。(只传递来自Fragment的uri路径),因为getView()函数中的上下文也可以正常工作。
但是我想在ListView Fragment中使用Glide生成位图缩略图,而不是在Custom Adapter类中,因为我需要在应用的其他Fragment中使用这些缩略图。不幸的是,我没有设法在ListView Fragment中创建缩略图,因为我在onCreateView()函数中编写的Glide.with()上下文不起作用!
要在ListView片段中查看Glide并生成位图缩略图,应使用什么正确的上下文?
我在ListView片段中使用了以下代码:
Glide.with(this)
.asBitmap().load(uri)
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
bitmapThumbnail = resource;
}
});
但它不生成任何缩略图..:((
2条答案
按热度按时间kq4fsx7k1#
在您的Fragment中,您可以通过调用
getContext()
来获取父Activity上下文lokaqttq2#
我刚刚发现问题不在于我添加到Glide.with()部分的上下文,而在于“onResourceReady(...)”方法内部生成的位图保留在那里,不能在该方法外部使用,只能在“imageView.setImageBitmap()”方法内部使用,并作为其参数...
我现在明白了,Glide只是url/uri/path和imageView小部件之间的中间体,它不会在自身之外生成任何位图!这是我学到的关于Glide的一个有价值的东西!
非常感谢我所得到的帮助!