2017-10-15 43 views
-4

J'utilise la bibliothèque de volley pour recevoir des données de fichier JSON J'ai ce problème, je ne sais pas la raison de cette erreur« android.content.Context.getResources() » sur une référence d'objet null

tentative d'invoquer la méthode virtuelle 'android.content.Context.getResources()' sur une référence d'objet null

private void fetchRemoteData(final DataStatus callback){ 
    StringRequest stringRequest = new StringRequest(Request.Method.GET, 
      URL_DATA, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String s) { 

        List<Post> listItems = new ArrayList<>(); 
        try { 
         JSONObject jsonObject = new JSONObject(s); 
         JSONArray array = jsonObject.getJSONArray("bgs"); 
         for (int i = 0; i < array.length(); i++){ 
          JSONObject o = array.getJSONObject(i); 
          Post item = new Post(
            o.getString("img") 
          ); 
          listItems.add(item); 
         } 
         callback.onSuccess(listItems); 
        } catch (JSONException e) { 
        } 

       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        callback.onError(error); 
       } 
      }); 
    RequestQueue requestQueue = Volley.newRequestQueue(getActivity()); 
    requestQueue.add(stringRequest); 
} 
d'erreur

existe ici:

@Override 
       public void onErrorResponse(VolleyError error) { 
        callback.onError(error); 
       } 
+1

Essayez d'utiliser un contexte d'application –

+0

@DimaKozhevin s'il vous plaît me dire comment je peux utiliser le contexte de l'application ? –

+0

https://stackoverflow.com/q/987072/3166697 –

Répondre

1

Mise à jour cette ligne:

RequestQueue requestQueue = Volley.newRequestQueue(getActivity());

avec

RequestQueue requestQueue = Volley.newRequestQueue(getContext());

ou

RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());

+0

En fait, je travaille avec des fragments, donc je ne peux pas ajouter 'getApplciationConetxt()' alors qu'est-ce que je devrais faire lequel je devrais ajouter 'getContext()' ou ' getActivity(). getApplciationConetxt() ' –