2017-10-15 74 views
-4

我使用的凌空库接收来自JSON文件我有这个问题的数据我不知道这个错误“android.content.Context.getResources()”上一个空对象引用

的原因

尝试上的空对象引用

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); 
} 

错误调用虚拟方法android.content.Context.getResources()'这里存在:

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

尝试使用应用程序上下文 –

+0

@DimaKozhevin请告诉我,我怎么能使用应用上下文? –

+0

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

回答

1

更新这一行:

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

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

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

+0

其实我正在与片段,所以我不能添加'getApplciationConetxt()' 所以我应该做哪一个我应该添加'getContext()'或' getActivity()。getApplciationConetxt()' –

相关问题