In my app I am posting the user's phone number and getting a JSON Array as response, of the form [{"category" : "category", "name" : "name", "phone" : "phone", "comment" : "comment"}, etc etc ..... ]
I am trying to format this JSON Array response in my ListView but I am getting this error and my app shuts down. Help would be appreciated.
    java.lang.NullPointerException
at appname.onResponse(ListView.java:130)
at appname.onResponse(ListView.java:83)
Below is my code :
  StringRequest stringRequest = new StringRequest(Request.Method.POST, SelectUserReviews_URL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Toast.makeText(ListView.this, response, Toast.LENGTH_LONG).show();
                        JsonArrayRequest movieReq = new JsonArrayRequest(SelectUserReviews_URL,
                                new Response.Listener<JSONArray>() {
                                    @Override
                                    public void onResponse(JSONArray response) {
                                        Log.d(TAG, response.toString());
                                        hidePDialog();
                                        // Parsing json
                                        for (int i = 0; i < response.length(); i++) {
                                            try {
                                                JSONObject obj = response.getJSONObject(i);
                                                Review review = new Review();
                                                review.setCategory(obj.getString("category"));
                                                review.setName(obj.getString("name"));
                                                review.setPhone(obj.getString("phone"));
                                                review.setComment(obj.getString("comment"));
                                                reviewList.add(review);
                                            } catch (JSONException e) {
                                                e.printStackTrace();
                                            }
                                        }
                                        // notifying list adapter about data changes
                                        // so that it renders the list view with updated data
                                        adapter.notifyDataSetChanged();
                                    }
                                }, new Response.ErrorListener() {
                            @Override
                            public void onErrorResponse(VolleyError error) {
                                VolleyLog.d(TAG, "Error geting user info: " + error.getMessage());
                                hidePDialog();
                            }
                        });
                        // Adding request for getting user info to request queue
                        AppController.getInstance().addToRequestQueue(movieReq);
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        VolleyLog.d(TAG, "Error getting user: " + error.getMessage());
                        hidePDialog();
                    }
                }) {
            @Override
            protected Map<String, String> getParams() {
                Map<String, String> params = new HashMap<String, String>();
                params.put(KEY_PHONENUMBER_USER, phoneNoofUser);
                return params;
            }
        };
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);
    }
Line 130 is :
AppController.getInstance().addToRequestQueue(movieReq);
Line 83 is :
   new Response.Listener<String>() {
