You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Glide在ViewPager2首个Fragment无法自动显示图片的问题及解决

Firebase相册全屏图片浏览:Glide加载问题排查与解决

我开发的应用支持创建相册并将照片存储到Firebase中查看,为实现类似Google Play商店的全屏图片浏览效果,我搭建了包含ViewPager2的Activity,搭配Fragment和Adapter展示图片,但使用Glide加载图片时遇到了以下问题:

  • 最初使用Glide.with(MediaViewerFragment.this).load(imageUrl).into(image);代码,图片完全无法显示;
  • 改用添加RequestListener并调用submit()后,首个Fragment的图片加载完成(日志已确认加载成功),但图片不显示,加载进度条也不会自动消失,必须触摸ViewPager2或者切换Fragment再返回,图片才会正常显示。

最终通过添加placeholder和error方法,并改用into(image)替代submit(),问题得到解决,修复后的代码示例如下:

Glide.with(image)
                .load(getImageUrl())
                .placeholder(R.drawable.transparent_background)
                .error(R.drawable.transparent_background)
                .addListener(new RequestListener<Drawable>() {
                    @Override
                    public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                        loadingLinear.setVisibility(View.GONE);
                        errorLinear.setVisibility(View.VISIBLE);
                        errorReasonText.setText(e.getMessage());
                        return false;
                    }
                    @Override
                    public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                        loadingLinear.setVisibility(View.GONE);
                        return false;
                    }
                })
                .into(image);

内容的提问来源于stack exchange,提问作者thewolf1119

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:20:33