2016-06-06 8 views
-1

I morgens ein Nullpointer bekommen, wenn ich die Verbindung zu meinem API tun mit Volley, ist dies die Methode, die ich verwendet habe:Nullpointer in Volley

List<Empresas> empresas = rellenar(); 




private List<Empresas> rellenar() { 
    final List<Empresas> empresas2 = null; 

    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, "APIurl",(JSONObject)null, 
      new Response.Listener<JSONObject>() { 
       @Override 
       public void onResponse(JSONObject response) { 
        try { 
         JSONArray jsonArray = response.getJSONArray("results"); 
         int id; 
         String nombre_franquicia; 
         String nombre_categoria; 
         String nombre; 
         String descripcion; 
         String contenido; 
         String direccion; 
         String foto_negocio; 
         String foto_principal; 
         String horario; 
         String telefono; 
         for(int i=0; i<jsonArray.length(); i++) { 
          JSONObject objeto = jsonArray.getJSONObject(i); 
          if (objeto.getString("id") != null && objeto.getString("id")!="null") { 
           id = Integer.parseInt(objeto.getString("id")); 
          } else { 
           id = 0; 
          } 
          if (objeto.getString("nombre_franquicia")!=null && objeto.getString("nombre_franquicia")!="null"){ 
           nombre_franquicia = objeto.getString("nombre_franquicia"); 
          }else{ 
           nombre_franquicia = "No disponible"; 
          } 
          if(objeto.getString("nombre_categoria")!=null && objeto.getString("nombre_categoria")!="null") { 
           nombre_categoria = objeto.getString("nombre_categoria"); 
          }else{ 
           nombre_categoria = "No disponible"; 
          } 
          if(objeto.getString("nombre")!=null && objeto.getString("nombre")!="null") { 
           nombre = objeto.getString("nombre"); 
          }else{ 
           nombre = "No disponible"; 
          } 
          if(objeto.getString("descripcion")!=null && objeto.getString("descripcion")!="null") { 
           descripcion = objeto.getString("descripcion"); 
          }else{ 
           descripcion = "No disponible"; 
          } 
          if(objeto.get("contenido")!=null && objeto.getString("contenido")!="null") { 
           contenido = objeto.getString("contenido"); 
          }else{ 
           contenido = "No disponible"; 
          } 
          if(objeto.getString("direccion")!=null && objeto.getString("direccion")!="null") { 
           direccion = objeto.getString("direccion"); 
          }else{ 
           direccion = "No disponible"; 
          } 
          if(objeto.getString("foto_negocio")!=null && objeto.getString("foto_negocio")!="null") { 
           foto_negocio = objeto.getString("foto_negocio"); 
          }else{ 
           foto_negocio = "No disponible"; 
          } 
          if(objeto.getString("foto_principal")!=null && objeto.getString("foto_principal")!="null") { 
           foto_principal = objeto.getString("foto_principal"); 
          } 
          else{ 
           foto_principal = "No disponible"; 
          } 
          if(objeto.getString("horario")!=null && objeto.getString("horario")!="null") { 
           horario = objeto.getString("horario"); 
          }else{ 
           horario = "No disponible"; 
          } 
          if(objeto.getString("telefono")!=null && objeto.getString("telefono")!="null") { 
           telefono = objeto.getString("telefono"); 
          } 
          else{ 
           telefono = "No disponible"; 
          } 



          Empresas negocio = new Empresas(id,nombre_franquicia, nombre_categoria, nombre, descripcion, 
            contenido, direccion, foto_negocio,foto_principal, horario,telefono); 

          empresas2.add(negocio); 
         } 

        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }, 
     new Response.ErrorListener(){ 
      @Override 
      public void onErrorResponse(VolleyError error){ 
       Log.e("VOLLEY","ERROR"); 
      } 
     } 
    ); 
    requestQueue.add(jsonObjectRequest); 
    return empresas2; 
} 

Wenn die Aktivität startet die List<Empresas> empresas ruft die Methode in der onCreateView des Fragments und nach ein paar Sekunden bekomme ich eine NullPointerException in empresas2.add(negocio) es ist das erste Mal, dass ich mit Volley arbeite und ich verstehe es noch nicht.

Antwort

3

final List<Empresas> empresas2 = null; ist NULL in Ihrem Code zuweisen.

mit Ersetzen:

List<Empresas> empresas2 = new ArrayList<Empresas>(); 
+0

mein Gott, ich kann nicht glauben, ich es nicht bemerkt, ich fühle mich richtig so dumm jetzt – Mihawk