0

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>() {
CHarris
  • 2,693
  • 8
  • 45
  • 71
  • check here please: https://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it – Jaydeep Devda May 30 '17 at 10:31
  • AppController.getInstance() is line is resulting in NULL. Please check your singleton AppController file. – mudit_sen May 30 '17 at 10:41
  • Before processing anything Check if(response!=null) inside public void onResponse(JSONArray response) – Sreehari May 30 '17 at 11:08
  • 1
    More over I dont see any connection between reviewList and adapter objects inside onResponse method – Sreehari May 30 '17 at 11:12
  • @Stallion My app crashes before I can put system.out.println in my Json onResponse part however I am getting a response for the StringRequest correctly - that is, the JSON array echo from my Php file. Aside from that I am looking into the connection between reviewList and adapter objects, thanks. – CHarris May 30 '17 at 12:03

0 Answers0