Java NullPointerException:尝试从字段';com.android.volley.Cache$Entry com.android.volley.Response.cacheEntry

Java NullPointerException:尝试从字段';com.android.volley.Cache$Entry com.android.volley.Response.cacheEntry,java,android,json,api,android-volley,Java,Android,Json,Api,Android Volley,我正在使用Android截取从外部API获取JSONArray。我的代码在下面 StringRequest jq = new StringRequest("http://api.example.com/json/States", new Response.Listener<String>() { @Override public void onResponse(String jsonArray) { try {

我正在使用Android截取从外部API获取JSONArray。我的代码在下面

StringRequest jq = new StringRequest("http://api.example.com/json/States", new Response.Listener<String>() {

        @Override
        public void onResponse(String jsonArray) {
            try {
                Log.d("Success", jsonArray.toString());
            } catch (Exception je) {
                je.printStackTrace();
            }
        }

    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError volleyError) {
            Log.d("Error", volleyError.toString());
        }
    }) {
        @Override
        protected Response parseNetworkResponse(NetworkResponse networkResponse) {
            return null;
        }
    };
    AppController a = AppController.getInstance();
    Log.d("Queue", "Add");
    a.addToRequestQueue(jq);
StringRequest jq=新的StringRequest(“http://api.example.com/json/States,新的响应。侦听器(){
@凌驾
公共void onResponse(字符串jsonArray){
试一试{
Log.d(“Success”,jsonArray.toString());
}捕获(例外){
je.printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共错误响应(截击错误截击错误){
Log.d(“Error”,volleyError.toString());
}
}) {
@凌驾
受保护的响应parseNetworkResponse(NetworkResponse NetworkResponse){
返回null;
}
};
AppController a=AppController.getInstance();
Log.d(“队列”、“添加”);
a、 addToRequestQueue(jq);
我一直在下面得到同样的错误

NetworkDispatcher.run:未处理的异常java.lang.NullPointerException:尝试读取空对象引用上的字段“com.android.volley.Cache$Entry com.android.volley.Response.cacheEntry” java.lang.NullPointerException:尝试读取空对象引用上的字段“com.android.volley.Cache$Entry com.android.volley.Response.cacheEntry” 位于com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:126)


我尝试了各种方法。但我还是有同样的问题。我不明白问题出在哪里。帮助修复此问题

您没有解析响应。您只返回null,不解析缓存头。解析响应后,可以返回带有缓存头的响应,解析方式如下:

return Response.success(networkResponse, HttpHeaderParser.parseCacheHeaders(networkResponse));

在parseNetworkResponse(NetworkResponse NetworkResponse)方法中返回此值

是否获得此问题的解决方案?不完全正确。现在,我将代码从StringRequest及其工作环境更改为新的JsonArrayRequest。