如何在片段中使用Glide- Android Studio?

xjreopfe  于 2022-12-09  发布在  Android
关注(0)|答案(2)|浏览(154)

我正在用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;
            }
        });

但它不生成任何缩略图..:((

kq4fsx7k

kq4fsx7k1#

在您的Fragment中,您可以通过调用getContext()来获取父Activity上下文

lokaqttq

lokaqttq2#

我刚刚发现问题不在于我添加到Glide.with()部分的上下文,而在于“onResourceReady(...)”方法内部生成的位图保留在那里,不能在该方法外部使用,只能在“imageView.setImageBitmap()”方法内部使用,并作为其参数...
我现在明白了,Glide只是url/uri/path和imageView小部件之间的中间体,它不会在自身之外生成任何位图!这是我学到的关于Glide的一个有价值的东西!
非常感谢我所得到的帮助!

相关问题