Android中的IllegalArgumentException错误,上下文不能为null

Android中的IllegalArgumentException错误,上下文不能为null,android,android-studio,android-context,picasso,illegalargumentexception,Android,Android Studio,Android Context,Picasso,Illegalargumentexception,我正在尝试使用“毕加索”从Url获取图像,但我在我的Logcat中收到了一条消息 原因:java.lang.IllegalArgumentException:上下文不能为null 下面是我的代码和日志 09-10 02:53:14.420 29527- 29527/green.example.tejask.asynctasknetworking I/art﹕ Late-enabling -Xcheck:jni 09-10 02:53:14.764 29527-29562/green.e

我正在尝试使用“毕加索”从Url获取图像,但我在我的Logcat中收到了一条消息

原因:java.lang.IllegalArgumentException:上下文不能为null

下面是我的代码和日志

09-10 02:53:14.420  29527-    29527/green.example.tejask.asynctasknetworking I/art﹕ Late-enabling -Xcheck:jni
09-10 02:53:14.764  29527-29562/green.example.tejask.asynctasknetworking D/OpenGLRenderer﹕ Render dirty regions requested: true
09-10 02:53:14.788  29527-29527/green.example.tejask.asynctasknetworking D/﹕ HostConnection::get() New Host Connection established 0xabc8c8b0, tid 29527
09-10 02:53:14.799  29527-29527/green.example.tejask.asynctasknetworking D/Atlas﹕ Validating map...
09-10 02:53:14.879  29527-29562/green.example.tejask.asynctasknetworking D/libEGL﹕ loaded /system/lib/egl/libEGL_emulation.so
09-10 02:53:14.881  29527-29562/green.example.tejask.asynctasknetworking D/libEGL﹕ loaded /system/lib/egl/libGLESv1_CM_emulation.so
09-10 02:53:14.894  29527-29562/green.example.tejask.asynctasknetworking D/libEGL﹕ loaded /system/lib/egl/libGLESv2_emulation.so
09-10 02:53:14.914  29527-29562/green.example.tejask.asynctasknetworking D/﹕ HostConnection::get() New Host Connection established 0xa3116120, tid 29562
09-10 02:53:14.962  29527-29562/green.example.tejask.asynctasknetworking I/OpenGLRenderer﹕ Initialized EGL, version 1.4
09-10 02:53:15.132  29527-29562/green.example.tejask.asynctasknetworking D/OpenGLRenderer﹕ Enabling debug mode 0
09-10 02:53:15.166  29527-29562/green.example.tejask.asynctasknetworking W/EGL_emulation﹕ eglSurfaceAttrib not implemented
09-10 02:53:15.166  29527-29562/green.example.tejask.asynctasknetworking W/OpenGLRenderer﹕ Failed to set EGL_SWAP_BEHAVIOR on surface 0xa3119220, error=EGL_SUCCESS
09-10 02:53:31.853  29527-29527/green.example.tejask.asynctasknetworking D/AndroidRuntime﹕ Shutting down VM
09-10 02:53:31.858  29527-29527/green.example.tejask.asynctasknetworking E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: green.example.tejask.asynctasknetworking, PID: 29527
    java.lang.RuntimeException: Unable to start activity ComponentInfo{green.example.tejask.asynctasknetworking/green.example.tejask.asynctasknetworking.SecondActivity}: java.lang.IllegalArgumentException: Context must not be null.
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
     Caused by: java.lang.IllegalArgumentException: Context must not be null.
            at com.squareup.picasso.Picasso$Builder.<init>(Picasso.java:701)
            at com.squareup.picasso.Picasso.with(Picasso.java:662)
            at green.example.tejask.asynctasknetworking.SecondActivity.onCreate(SecondActivity.java:22)
            at android.app.Activity.performCreate(Activity.java:5933)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
09-10 02:53:39.188  29527-29527/green.example.tejask.asynctasknetworking I/Process﹕ Sending signal. PID: 29527 SIG: 9

将您的上下文初始化为:

context=SecondActivity.this;
之前:

Picasso.with(context).load(imgUri).into(img);

您没有在
onCreate()
方法中初始化
Context
。请初始化它

试试这个

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        context = SecondActivity.this;
        String imgUri = "https://i.imgur.com/tGbaZCY.jpg";
        img= (ImageView) findViewById(R.id.img);
        Picasso.with(context).load(imgUri).into(img);

    }
例外说明一切

Android中的IllegalArgumentException错误,上下文不能为null

在本例中,您声明了一个名为
Context
Context
类型的类成员,但没有对其进行初始化。它的默认值为null,因此崩溃。由于活动继承自上下文,因此可以使用关键字
this

例如


始终在使用变量之前对其进行初始化


只要把上下文=这个

或者您应该初始化您的上下文。 公共类SecondActivity扩展了AppCompatActivity{ 私有图像视图img; 语境

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    String imgUri = "https://i.imgur.com/tGbaZCY.jpg";
    img= (ImageView) findViewById(R.id.img);
    context = SecondActivity.this;
    Picasso.with(context).load(imgUri).into(img);

}
}

或者您不需要声明上下文

Picasso.with(this).load(imgUri).into(img); 

IllegalArgumentException:Context不能为null,因为
Context
为null。在调用<代码> Picasso之前,添加<代码>上下文>这个< /代码>。我做到了,正如你所说的,但是现在我看不到图像,我可以看到没有任何错误的空白活动。LOL。谢谢你的队友……它的发生……)
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    String imgUri = "https://i.imgur.com/tGbaZCY.jpg";
    img= (ImageView) findViewById(R.id.img);
    context = SecondActivity.this;
    Picasso.with(context).load(imgUri).into(img);

}
Picasso.with(this).load(imgUri).into(img);