How can I run the Stream with filter to fit in a list according to what you select in a spinner?

0

I want to filter a list according to what I select in the credit type spinner.

listClientes has the same structure as listaNueva with the class ClienteRecuperacionModel .

 public class ClienteRecuperacionModel {

     public ClienteRecuperacionModel(String codigo, 
     String documento, 
     String nombres, 
     String direccion,
     int Ntipocredito,
     int NdiasAtraso,
     boolean seleccionado) 
    {
        Codigo = codigo;
        Documento = documento;
        Nombres = nombres;
        Direccion = direccion;
        Seleccionado=seleccionado;
        ntipocredito=Ntipocredito;
        nDiasAtraso=NdiasAtraso;
    }

    public String getCodigo() {
        return Codigo;
    }

    public String getDocumento() {
        return Documento;
    }

    public String getNombres() {
        return Nombres;
    }

    public String getDireccion() {
        return Direccion;
    }

    public boolean isSeleccionado() {return Seleccionado;}
    public int getNtipocredito() {return ntipocredito;}

    public int getnDiasAtraso() {return nDiasAtraso;}

    private String Codigo ;

    private String Documento;

    private String Nombres ;

    private String Direccion;
    private boolean Seleccionado;
    private int ntipocredito;
    private int nDiasAtraso;
}

This is how I fill the ListClients.

 JSONArray ListaClientesRecuperaciones = response.getJSONArray("Data");
 ClienteRecuperacionModel[] ArrayClientesRecuperaciones=gson.fromJson(ListaClientesRecuperaciones.toString(),ClienteRecuperacionModel[].class); 
 ListClientes= Arrays.asList(ArrayClientesRecuperaciones);
  spnTipoCredito.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                TipoCreditoSel = (TipoCreditoModel) parent.getItemAtPosition(position);

                if (TipoCreditoSel.getnTipoCreditos() !=0) {
                    List<ClienteRecuperacionModel> ListaNueva = null;
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                        ListaNueva = ListClientes.stream().filter(x -> x.getNtipocredito()==TipoCreditoSel.getnTipoCreditos()).collect(Collectors.toList());
                    }
                }

            }

When I give Expression to the following line:

ListClientes.stream().filter(x->x.getNtipocredito()==TipoCreditoSel.getnTipoCreditos()).collect(Collectors.toList())

shows me the following error.

  

Error creating evaluation class loader:   com.intellij.debugger.engine.evaluation.EvaluateException: Method   threw 'java.lang.NullPointerException' exception.

    
asked by Julio Casas 01.08.2017 в 16:41
source

0 answers