凌空方法之外的NullPointerException

时间:2014-12-09 10:31:27

标签: java android nullpointerexception android-volley

当我尝试在此代码之后访问类别数组时,它会给我空指针异常。 我将这个数组返回给其他类。所以它也产生nullpointerexception。

 JsonObjectRequest req = new JsonObjectRequest(url, new JSONObject(),
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    // handle response
                    try {
                        JSONArray jarray=(JSONArray)response.get(item);
                        catagory=new String[jarray.length()][2];
                        //catagory_name=new String[jarray.length()];
                        for(int i=0;i<jarray.length();i++){
                            JSONObject jobj = (JSONObject) jarray
                                    .get(i);
                            catagory[i][1]=jobj.getString(sectionurl);
                            catagory[i][0]=jobj.getString(name);
                        }
                    }
                    catch (JSONException je){

                    }

                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            // handle error
        }
    })

 String str=catagory[0][0];//AT THIS LINE AN EXCEPTION IS THROWN  

1 个答案:

答案 0 :(得分:1)

正如塞尔文所说,你应该明白,线程是如何运作的。

在行String str=catagory[0][0];中,catagory为null。

只有在public void onResponse(JSONObject response) {...}之后它才会有价值,并导致它的同步操作。