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

使用Picasso库加载图片时触发NullPointerException崩溃问题求助

问题修复说明

疑问答复

你对Picasso的用法理解正确,已经完成ID绑定初始化的非空ImageView对象可以直接传入.into()方法,这是Picasso的标准用法,你的问题和库的接入配置无关,是代码写法错误导致的。

具体错误&修复步骤

  1. 空指针异常修复
    你当前写的imageview_poster.findViewById(R.id.imageview_poster)是错误写法:此时imageview_poster还未被初始化,本身为null,调用它的方法自然触发空指针崩溃。正确写法是调用Activity的findViewById方法,将查找得到的控件赋值给该变量:
imageview_poster = findViewById(R.id.imageview_poster);
  1. 图片加载路径修复
    你传入load方法的是相对路径/upload/iblock/95a/95aa56e9694ebd46e2855e7167966cfd.jpg,没有拼接完整域名,Picasso无法识别资源地址。需要把你注释的域名前缀拼接到路径前,生成完整可访问的URL。

  2. 权限补充配置
    需要在AndroidManifest.xml中添加网络访问权限,否则无法加载网络图片:

<uses-permission android:name="android.permission.INTERNET" />

修复后的完整代码

package com.example.my_ugf;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import com.squareup.picasso.Picasso;

public class MainActivity extends AppCompatActivity {
    final public String URL_poster = "https://udmfil.ru";
    public ImageView imageview_poster;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 修正ImageView初始化方式
        imageview_poster = findViewById(R.id.imageview_poster);
        // 拼接完整图片URL
        Picasso.get().load(URL_poster + "/upload/iblock/95a/95aa56e9694ebd46e2855e7167966cfd.jpg")
                .resize(50, 50)
                .centerCrop()
                .into(imageview_poster);
    }
}

内容的提问来源于stack exchange,提问作者Сергей Дёшин

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 04:36:00