安卓程序能运行,但提示空指针!

昨天也写了一个类似这样问题的程序,能运行,但是提示类似这个错误。但是第二天重启电脑再运行就没问题。今天又写了一个另外的程序,写着写着又出现这种情况,这怎么解决啊?

MyApplication.java

package com.example.volleydemo;

import android.app.Application;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.Volley;


public class MyApplication extends Application {

    public static RequestQueue queue;

    @Override
    public void onCreate() {
        super.onCreate();

        queue = Volley.newRequestQueue(getApplicationContext());

    }


    public static RequestQueue AddQueue(){

        return queue;
    }
}

MainActivity.java

package com.example.volleydemo;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import org.json.JSONObject;

public class MainActivity extends Activity {
    private TextView textview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textview = (TextView) findViewById(R.id.text);

        GetData();
    }

    private void GetData() {

        String url = "http://api.map.baidu.com/telematics/v3/weather?location=%E7%BB%A5%E5%BE%B7&output=json&ak=11ffd27d38deda622f51c9d314d46b17";

        JsonObjectRequest request = new JsonObjectRequest(url, null, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject jsonObject) {

                textview.setText(jsonObject.toString());

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {

                Toast.makeText(MainActivity.this,volleyError.toString(),Toast.LENGTH_LONG).show();
            }
        });

        request.setTag("abc");
        MyApplication.AddQueue().add(request);
    }
}

错误提示:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.volleydemo/com.example.volleydemo.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.android.volley.Request com.android.volley.RequestQueue.add(com.android.volley.Request)' on a null object reference
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.android.volley.Request com.android.volley.RequestQueue.add(com.android.volley.Request)' on a null object reference
                                                                          at com.example.volleydemo.MainActivity.GetData(MainActivity.java:45)
                                                                          at com.example.volleydemo.MainActivity.onCreate(MainActivity.java:22)

图片描述

图片描述

阅读 5.9k
2 个回答

clipboard.png

gradle sync
然后
clean project

我猜你的AndroidManifests文件的Application没有替换为MyApplication

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题