排球中的Nullpointer

时间:2016-06-06 09:32:11

标签: java android android-volley

当我使用Volley连接到我的API时,我得到一个NullPointerException,这是我正在使用的方法:

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

当活动开始时,List<Empresas> empresas调用片段的onCreateView中的方法,几秒钟后我在empresas2.add(negocio)中得到一个NullPointerException,这是我第一次使用Volley而且我没有了解它。

1 个答案:

答案 0 :(得分:3)

final List<Empresas> empresas2 = null;在您的代码中为NULL分配。

替换为:

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