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

可正常获取图片URL但Picasso/Glide无法在ImageView显示,求解决方案

问题解决步骤
  • 第一步:添加错误监听定位具体故障
    先修改Picasso加载代码,添加加载失败回调打印错误日志,确认是加载哪个环节出问题:

    Picasso.get()
      .load(imageUri)
      .placeholder(R.drawable.your_placeholder) // 替换为你自己的占位图资源
      .error(R.drawable.your_error_img) // 替换为你自己的加载失败图资源
      .into(holder.photo, new Callback() {
          @Override
          public void onSuccess() {
              Log.d("picasso_load", "加载成功");
          }
    
          @Override
          public void onError(Exception e) {
              Log.e("picasso_load", "加载失败", e);
          }
      });
    

    运行后如果触发onError,打印的异常堆栈可以直接定位是403权限问题、网络问题还是解析问题。

  • 第二步:排查基础配置问题

    • 确认AndroidManifest.xml中已添加网络权限:
    <uses-permission android:name="android.permission.INTERNET" />
    
    • 检查ImageView布局属性,建议先设置固定宽高测试,避免wrap_content初始宽高为0导致加载后不渲染:
    <ImageView
        android:id="@+id/photo"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:adjustViewBounds="true" />
    
  • 第三步:处理Unsplash图片防盗链限制
    你当前使用的是Unsplash的正式图片链接,Unsplash对非官方API调用的图片请求会校验请求头,无合法标识会返回403错误,需要给Picasso配置带请求头的下载器:

    1. 先引入OkHttp3依赖(如果还没引入)
    2. 自定义带请求头的OkHttp下载器:
    OkHttpClient client = new OkHttpClient.Builder()
        .addInterceptor(chain -> {
            Request request = chain.request().newBuilder()
                // 替换为你自己在Unsplash申请的Client-ID
                .addHeader("Authorization", "Client-ID 你的Unsplash应用ID")
                .build();
            return chain.proceed(request);
        })
        .build();
    
    Picasso picasso = new Picasso.Builder(context)
        .downloader(new OkHttp3Downloader(client))
        .build();
    picasso.load(imageUri).into(holder.photo);
    

    如果你用Glide测试,添加请求头的逻辑和上述逻辑一致,通过GlideUrl自定义Headers即可实现鉴权。

  • 第四步:备选验证方案
    可以先把URL替换为其他公共图片测试链接,如果能正常加载,就可以100%确认是Unsplash的链接鉴权问题,按第三步配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:36:07