RecyclerView does not enter the onCreateViewHolder

0

Good community, this is a long question, but I bring the solution in it, now you will see.

I'm doing a screen to bring some data from firebase to RecyclerView , up to here all right, there is a screen that does the same as in what happens to me the problem but in that it works, and because the more I look at it, everything is the same. Since firebase returns data in both, but in which I have the problem does not enter RecyclerView for onCreateViewHolder . I leave you first the adapter and the fragment inflo that work and then where I have the problem.

Greetings and thanks.

CODE THAT WORKS

Adapter:

public class AdaptadorRecyclerBandosAdmin extends RecyclerView.Adapter<AdaptadorRecyclerBandosAdmin.MiHolder> {

private static final int ANIMATED_ITEM_COUNT=2;

ArrayList<BandoItem> lista;
int lastPosition=-1;
OnCardBandoSelected listener;
Context c;
OnBandoAdminSelected onBandoAdminSelected;
OnBandoBorrar onBandoBorrar;
OnLeerMasBandos onLeerMasBandos;
ArrayList ids;


public AdaptadorRecyclerBandosAdmin(Context c, OnCardBandoSelected listener, OnBandoBorrar onBandoBorrar, OnLeerMasBandos onLeerMasBandos){
    this.c=c;
    this.listener=listener;
    lista=new ArrayList();
    ids=new ArrayList();
    onBandoAdminSelected= (OnBandoAdminSelected) c;
    this.onBandoBorrar=onBandoBorrar;
    this.onLeerMasBandos=onLeerMasBandos;

}

@Override
public MiHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View v= LayoutInflater.from(c).inflate(R.layout.card_bando_admin,parent,false);

    return new MiHolder(v);
}

@Override
public void onBindViewHolder(final MiHolder holder, final int position) {

    if(getItemCount()<=1){
        FragmentModificarBandosAdmin.noHayBandos.setVisibility(View.VISIBLE);
        FragmentModificarBandosAdmin.siHayBandos.setVisibility(View.GONE);
    }else{
        FragmentModificarBandosAdmin.noHayBandos.setVisibility(View.GONE);
        FragmentModificarBandosAdmin.siHayBandos.setVisibility(View.VISIBLE);
    }

    if(position<lista.size()){
        final BandoItem item = (BandoItem) lista.get(position);

        holder.fecha.setText(item.getF_empiece());
        holder.nombre.setText(item.getTitulo());
        holder.descripcion.setText(item.getContenido());
        holder.card.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                listener.onClick(view,position);
            }
        });
        holder.check.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(holder.check.isChecked()){
                    ids.add(item.getId());
                }else{
                    ids.remove(item);
                }
            }
        });
        holder.check.setChecked(false);
        holder.leerMas.setVisibility(View.GONE);
        holder.card.setVisibility(View.VISIBLE);
        holder.barraProgreso.setVisibility(View.GONE);

    }else{
        holder.card.setVisibility(View.GONE);
        holder.leerMas.setVisibility(View.VISIBLE);
        holder.leerMas.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                holder.barraProgreso.setVisibility(View.VISIBLE);
                holder.leerMas.setVisibility(View.GONE);
                onLeerMasBandos.onMasClicked();

            }
        });
    }

    if(holder.barraProgreso.getVisibility()==View.VISIBLE){
        holder.barraProgreso.setVisibility(View.GONE);
        holder.leerMas.setVisibility(View.VISIBLE);
    }

}

@Override
public int getItemCount() {
    return lista.size()+1;
}


public void addItem(BandoItem item){
    lista.add(item);
    notifyItemChanged(lista.size()-1);
}

public void vaciarLista(){
    lista.clear();
}

public void getItem(int position){
    onBandoAdminSelected.onBandoAdminSelected((BandoItem) lista.get(position));
}

private void removePosition(){
    for(int i=0; i<ids.size();i++){
        for(int j=0; j<lista.size();j++){
            if(ids.get(i).toString().equals(lista.get(j).getId())){
                lista.remove(j);
            }
        }
    }
}

public void posicionesABorrar(){
    onBandoBorrar.onBandoBorrar(ids);
    removePosition();
}

public void notificarCambio(){
    notifyDataSetChanged();
}


class MiHolder extends RecyclerView.ViewHolder{
    CardView card;
    CheckBox check;
    TextView fecha;
    TextView nombre;
    TextView descripcion;
    Button leerMas;
    ProgressBar barraProgreso;

    public MiHolder(View itemView) {
        super(itemView);

        card= (CardView) itemView.findViewById(R.id.card_card_bandoAdmin);
        check= (CheckBox) itemView.findViewById(R.id.check_card_bandoAdmin);
        fecha= (TextView) itemView.findViewById(R.id.txt_fecha_card_bandoAdmin);
        nombre= (TextView) itemView.findViewById(R.id.txt_nombre_card_bandoAdmin);
        descripcion= (TextView) itemView.findViewById(R.id.txt_descripcion_card_bandoAdmin);
        leerMas= (Button) itemView.findViewById(R.id.btn_leermas_card_bandoAdmin);
        barraProgreso= (ProgressBar) itemView.findViewById(R.id.barra_card_bandoAdmin);

    }
}

}

Fragment:

public class FragmentModificarBandosAdmin extends Fragment implements View.OnClickListener {

View v;
static LinearLayout noHayBandos;
static CoordinatorLayout siHayBandos;
RecyclerView recycler;
FloatingActionButton borrar;
AdaptadorRecyclerBandosAdmin adaptador;
SwipeRefreshLayout refresco;
FirebaseFirestore bd;
int contador=5;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    v=inflater.inflate(R.layout.fragment_modificar_bando_admin,container,false);
    return v;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    instancias();
    acciones();
    conexionABD();
}

private void instancias() {
    siHayBandos= (CoordinatorLayout) v.findViewById(R.id.sihayBandos_modificarBandoAdmin);
    noHayBandos= (LinearLayout) v.findViewById(R.id.nohayBandos_modificarBandoAdmin);
    recycler= (RecyclerView) v.findViewById(R.id.recycler_modificarBandoAdmin);
    borrar= (FloatingActionButton) v.findViewById(R.id.btn_acciones_modificarBandoAdmin);
    adaptador=new AdaptadorRecyclerBandosAdmin(getContext(), new OnCardBandoSelected() {
        @Override
        public void onClick(View v, int position) {
            adaptador.getItem(position);
        }
    }, new OnBandoBorrar() {
        @Override
        public void onBandoBorrar(ArrayList ids) {
            borrarBandos(ids);
        }
    }, new OnLeerMasBandos() {
        @Override
        public void onMasClicked() {
            leerMas();
        }
    });
    refresco=v.findViewById(R.id.swipe_modificarBandoAdmin);
    refresco.setColorSchemeResources(R.color.colorAccent, R.color.colorPrimarySuperlight);
    bd=FirebaseFirestore.getInstance();
}


private void conexionABD(){


    bd.collection("bandos").whereGreaterThanOrEqualTo("f_fin",new Date()).orderBy("f_fin", Query.Direction.ASCENDING).limit(contador).get()
            .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                @Override
                public void onSuccess(QuerySnapshot documentSnapshots) {
                    adaptador.vaciarLista();
                    ArrayList<DocumentSnapshot> documentos= (ArrayList<DocumentSnapshot>) documentSnapshots.getDocuments();
                    BandoItem item;
                    SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy HH:mm");
                    DocumentSnapshot ultimoDocumento;

                    for(int i=0; i<documentos.size();i++){
                        item=new BandoItem();
                        ultimoDocumento=documentos.get(i);
                        item.setId(ultimoDocumento.getId());
                        item.setTitulo(ultimoDocumento.getString("titulo"));
                        item.setContenido(ultimoDocumento.getString("contenido"));
                        Date f_inicio=ultimoDocumento.getDate("f_empiece");
                        item.setF_empiece(sdf.format(f_inicio));
                        Date f_fin=ultimoDocumento.getDate("f_fin");
                        item.setF_fin(sdf.format(f_fin));
                        adaptador.addItem(item);
                    }
                    refresco.setRefreshing(true);
                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Toast.makeText(getContext(),R.string.errRecibirBando,Toast.LENGTH_LONG).show();
                }
            })
            .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {

                    refresco.setRefreshing(false);
                    setearAdaptador();
                }
            });

}

private void leerMas() {

    contador+=5;

    bd.collection("bandos").whereGreaterThanOrEqualTo("f_fin",new Date()).orderBy("f_fin", Query.Direction.ASCENDING).limit(contador).get()
            .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                @Override
                public void onSuccess(QuerySnapshot documentSnapshots) {
                    adaptador.vaciarLista();
                    ArrayList<DocumentSnapshot> documentos= (ArrayList<DocumentSnapshot>) documentSnapshots.getDocuments();
                    BandoItem item;
                    SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy HH:mm");
                    DocumentSnapshot ultimoDocumento;
                    for(int i=adaptador.getItemCount()-1; i<documentos.size();i++){
                        item=new BandoItem();
                        ultimoDocumento=documentos.get(i);
                        item.setId(ultimoDocumento.getId());
                        item.setTitulo(ultimoDocumento.getString("titulo"));
                        item.setContenido(ultimoDocumento.getString("contenido"));
                        Date f_inicio=ultimoDocumento.getDate("f_empiece");
                        item.setF_empiece(sdf.format(f_inicio));
                        Date f_fin=ultimoDocumento.getDate("f_fin");
                        item.setF_fin(sdf.format(f_fin));
                        adaptador.addItem(item);

                    }
                    adaptador.notifyDataSetChanged();

                }
            }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Toast.makeText(getContext(),R.string.errRecibirBando,Toast.LENGTH_LONG).show();
            return;
        }
    });
}

private void setearAdaptador() {

    LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    recycler.setLayoutManager(layoutManager);

    recycler.setAdapter(adaptador);

    if(adaptador.getItemCount()<=1){
        noHayBandos.setVisibility(View.VISIBLE);
        siHayBandos.setVisibility(View.GONE);
    }else{
        noHayBandos.setVisibility(View.GONE);
        siHayBandos.setVisibility(View.VISIBLE);
    }


}

private void acciones() {
    borrar.setOnClickListener(this);
}

private void borrarBandos(ArrayList ids) {
    if(ids.size()==0){
        Toast.makeText(getContext(), R.string.errBorrarBando,Toast.LENGTH_SHORT).show();
    }else{
        for(int i=0; i<ids.size();i++) {
            bd.collection("bandos").document(String.valueOf(ids.get(i))).delete()
                .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Toast.makeText(getContext(),R.string.errBorrarAlgunosBandos,Toast.LENGTH_LONG).show();
                }
            });
        }
        adaptador.notifyDataSetChanged();
    }
}


@Override
public void onClick(View view) {
    final AlertDialog.Builder builder=new AlertDialog.Builder(getContext());

    builder.setTitle(R.string.atencion)
            .setMessage(R.string.dialogoBando)
            .setPositiveButton(R.string.aceptar, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    adaptador.posicionesABorrar();
                }
            }).setNegativeButton(R.string.cancelar, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {

        }
    });

    builder.create().show();
}

}
}

CODE THAT DOES NOT WORK

Adapter:

public class ItemAdapter extends RecyclerView.Adapter<ItemAdapter.PersoHolder> {

private static final int ANIMATED_ITEM_COUNT=2;

Context c;
ArrayList<IncidenciaItem> lista;
int lastPosition=-1;
static OnCardSelected listener;
OnMasClicked onMasClicked;
OnIncidenciasDesactivar onIncidenciasDesactivar;
OnIncidenciaSelected onIncidenciaSelected;
FirebaseStorage firebaseStorage;
ArrayList ids;


public ItemAdapter(Context c, OnCardSelected listener, OnMasClicked onMasClicked, OnIncidenciasDesactivar onIncidenciasDesactivar){
    this.c=c;
    lista=new ArrayList();
    ids=new ArrayList();
    this.listener=listener;
    this.onMasClicked=onMasClicked;
    this.onIncidenciasDesactivar=onIncidenciasDesactivar;
    onIncidenciaSelected= (OnIncidenciaSelected) c;
    firebaseStorage=FirebaseStorage.getInstance();
    Log.v("PruebaIncidencias","entra en el constructor");
}


@Override
public PersoHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View v= LayoutInflater.from(c).inflate(R.layout.card_incidencias_admin,parent,false);

    return new PersoHolder(v);
}

@Override
public void onBindViewHolder(final PersoHolder holder, final int position) {

    SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy HH:mm");

    if(getItemCount()<=1){
        IncidenciasFragmentAdmin.noIncidencias.setVisibility(View.VISIBLE);
        IncidenciasFragmentAdmin.siIncidencias.setVisibility(View.GONE);
    }else{
        IncidenciasFragmentAdmin.noIncidencias.setVisibility(View.GONE);
        IncidenciasFragmentAdmin.siIncidencias.setVisibility(View.VISIBLE);
    }

    if(position<lista.size()) {

        final IncidenciaItem i = lista.get(position);

        holder.fecha.setText(sdf.format(i.getT_stamp()));
        holder.nombre.setText(i.getTitulo());
        holder.direccion.setText(i.getDireccion());

        String imagen="";

        if(i.getImg3()!=null)
            imagen=i.getImg3();

        if(i.getImg2()!=null)
            imagen=i.getImg2();

        if(i.getImg1()!=null)
            imagen=i.getImg1();

        StorageReference sf = firebaseStorage.getReference(imagen);
        sf.getBytes(Long.MAX_VALUE).addOnSuccessListener(new OnSuccessListener<byte[]>() {
            @Override
            public void onSuccess(byte[] bytes) {
                Glide.with(c).load(bytes).centerCrop().into(holder.imagen);
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Toast.makeText(c, R.string.errFotosIncidenciasAdmin,Toast.LENGTH_SHORT).show();
            }
        });

        holder.card.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                listener.onClick(view,position);
            }
        });

        holder.check.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(holder.check.isChecked()){
                    ids.add(i.getId());
                }else{
                    ids.remove(i);
                }
            }
        });
        holder.check.setChecked(false);
        holder.barra.setVisibility(View.GONE);
        holder.mas.setVisibility(View.GONE);
        holder.card.setVisibility(View.VISIBLE);
    }else{
        holder.card.setVisibility(View.GONE);
        holder.mas.setVisibility(View.VISIBLE);
        holder.mas.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                holder.barra.setVisibility(View.VISIBLE);
                holder.mas.setVisibility(View.GONE);
                onMasClicked.onMas();
            }
        });
    }

    if(holder.barra.getVisibility()==View.VISIBLE){
        holder.barra.setVisibility(View.GONE);
        holder.mas.setVisibility(View.VISIBLE);
    }

}

@Override
public int getItemCount() {
    return lista.size()+1;
}

public void getItem(int position){
    onIncidenciaSelected.onIncidencia(lista.get(position));
}

private void removePosition(){
    for(int i=0; i<ids.size();i++){
        for(int j=0; j<lista.size();j++){
            if(ids.get(i).toString().equals(lista.get(j).getId())){
                lista.remove(j);
            }
        }
    }
}

public void posicionesADescativar(){
    onIncidenciasDesactivar.OnPosicionesDesactivar(ids);
    removePosition();

}

public void addItem(IncidenciaItem item){
    lista.add(item);
    notifyItemChanged(lista.size()-1);
}


public void vaciarLista(){
    lista.clear();
}
public void notificarCambio(){
    notifyDataSetChanged();
}

static class PersoHolder extends RecyclerView.ViewHolder {

    TextView fecha;
    TextView nombre;
    TextView direccion;
    ImageView imagen;
    CheckBox check;
    CardView card;
    Button mas;
    ProgressBar barra;

    public PersoHolder(View itemView) {
        super(itemView);
        Log.v("PruebaIncidencias","entra en el persoholder");
        fecha= (TextView) itemView.findViewById(R.id.txt_fecha_card_incidenciasAdmin);
        nombre= (TextView) itemView.findViewById(R.id.txt_nombe_card_incidenciasAdmin);
        direccion= (TextView) itemView.findViewById(R.id.txt_direccion_card_incidenciasAdmin);
        imagen= (ImageView) itemView.findViewById(R.id.img_card_incidenciasAdmin);
        check= (CheckBox) itemView.findViewById(R.id.check_card_incidenciasAdmin);
        card= (CardView) itemView.findViewById(R.id.card_card_incidenciasAdmin);
        mas= (Button) itemView.findViewById(R.id.btn_leermas_card_incidecniasAdmin);
        barra= (ProgressBar) itemView.findViewById(R.id.barra_card_incidenciasAdmin);

    }
}

}

Fragment:

public class IncidenciasFragmentAdmin extends Fragment implements View.OnClickListener{

View v;
RecyclerView recycler;
ItemAdapter adaptador;
static LinearLayout noIncidencias;
static CoordinatorLayout siIncidencias;
FloatingActionButton acciones;
SwipeRefreshLayout refresco;

FirebaseFirestore db;
DocumentSnapshot documentoDesde;

int contador=5;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    v=inflater.inflate(R.layout.fragment_incidencias_admin,container,false);
    return v;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    instancias();
    acciones();
    iniciarConsultaABD();
}
private void instancias() {

    recycler= (RecyclerView) v.findViewById(R.id.recycler_incidenciasAdmin);
    noIncidencias= (LinearLayout) v.findViewById(R.id.nohayincidencias_incidenciasAdmin);
    siIncidencias= (CoordinatorLayout) v.findViewById(R.id.sihayIncidencias_incidenciasAdmin);
    acciones= (FloatingActionButton) v.findViewById(R.id.btn_acciones_incidenciasAdmin);
    recycler.setVisibility(View.GONE);
    refresco=v.findViewById(R.id.swipe_incidenciasAdmin);
    refresco.setColorSchemeResources(R.color.colorAccent, R.color.colorPrimarySuperlight);
    adaptador=new ItemAdapter(getContext(), new OnCardSelected() {
        @Override
        public void onClick(View v, int position) {
            adaptador.getItem(position);
        }
    }, new OnMasClicked() {
        @Override
        public void onMas() {
            leerMas();

        }
    }, new OnIncidenciasDesactivar() {
        @Override
        public void OnPosicionesDesactivar(ArrayList ids) {
            desactivarIncidencias(ids);
        }
    });

    db = FirebaseFirestore.getInstance();
}

private void setearAdaptador() {
    LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    recycler.setLayoutManager(layoutManager);

    recycler.setAdapter(adaptador);

    if(adaptador.getItemCount()<=1){
        noIncidencias.setVisibility(View.VISIBLE);
        siIncidencias.setVisibility(View.GONE);
    }else{
        noIncidencias.setVisibility(View.GONE);
        siIncidencias.setVisibility(View.VISIBLE);
    }

}

private void acciones() {
    acciones.setOnClickListener(this);
}

private void iniciarConsultaABD() {

    db.collection("incidencias").whereEqualTo("activa",true).orderBy("t_stamp", Query.Direction.DESCENDING).limit(contador).get()
            .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                @Override
                public void onSuccess(QuerySnapshot documentSnapshots) {
                    adaptador.vaciarLista();
                    ArrayList<DocumentSnapshot> documentos= (ArrayList<DocumentSnapshot>) documentSnapshots.getDocuments();

                    Log.v("PruebaIncidencias",documentSnapshots.size()+"");
                    for(int i=0; i<documentos.size(); i++){


                        DocumentSnapshot datos = documentos.get(i);
                        IncidenciaItem incidenciaItem = new IncidenciaItem(datos.getString("titulo"),
                                datos.getDate("t_stamp"), datos.getString("usuario"), datos.getString("descripcion"),
                                datos.getString("img1"), datos.getString("img2"), datos.getString("img3"),
                                datos.getString("direccion"), datos.getGeoPoint("coordenadas"), String.valueOf(datos.getId()),
                                datos.getBoolean("activa"));

                        adaptador.addItem(incidenciaItem);


                    }

                    refresco.setRefreshing(true);
                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Toast.makeText(getContext(),R.string.errRecibirBando,Toast.LENGTH_LONG).show();


                }
            }).addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                    refresco.setRefreshing(false);
                    setearAdaptador();
                }
            });


}

private void leerMas() {
    contador+=5;
    db.collection("incidencias").whereEqualTo("activa",true).orderBy("t_stamp", Query.Direction.DESCENDING).limit(contador).get()
            .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                @Override
                public void onSuccess(QuerySnapshot documentSnapshots) {
                    adaptador.vaciarLista();
                    ArrayList<DocumentSnapshot> documentos= (ArrayList<DocumentSnapshot>) documentSnapshots.getDocuments();


                    for(int i=0; i<documentos.size(); i++){

                        DocumentSnapshot datos = documentos.get(i);
                        IncidenciaItem incidenciaItem = new IncidenciaItem(datos.getString("titulo"),
                                datos.getDate("t_stamp"), datos.getString("usuario"), datos.getString("descripcion"),
                                datos.getString("img1"), datos.getString("img2"), datos.getString("img3"),
                                datos.getString("direccion"), datos.getGeoPoint("coordenadas"), String.valueOf(datos.getId()),
                                datos.getBoolean("activa"));

                        adaptador.addItem(incidenciaItem);


                    }

                    adaptador.notifyDataSetChanged();
                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Toast.makeText(getContext(),R.string.errRecibirBando,Toast.LENGTH_LONG).show();
                    return;
                }
            });

}

private void desactivarIncidencias(ArrayList ids) {
    HashMap<String, Object> map=new HashMap<>();
    map.put("activa",false);

    if(ids.size()==0){
        Toast.makeText(getContext(), R.string.errDesctivarIncidencias,Toast.LENGTH_SHORT).show();
    }else{
        for(int i=0; i<ids.size();i++) {
            db.collection("incidencias").document(String.valueOf(ids.get(i))).update(map).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Toast.makeText(getContext(),R.string.errBorrarAlgunasIncidencias,Toast.LENGTH_LONG).show();
                }
            });
        }
        adaptador.notifyDataSetChanged();
    }
}

@Override
public void onClick(View view) {
    final AlertDialog.Builder builder=new AlertDialog.Builder(getContext());

    builder.setTitle(R.string.atencion)
            .setMessage(R.string.dialogoIncidencias)
            .setPositiveButton(R.string.aceptar, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    adaptador.posicionesADescativar();
                }
            }).setNegativeButton(R.string.cancelar, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {

        }
    });

    builder.create().show();

}
}
asked by Adrián Garrido Blázquez 08.12.2017 в 20:33
source

2 answers

1

In your code you have this recycler.setVisibility(View.GONE); , but ... where do you send another call but visualize the recilcler? because what you put in will always keep the view of the hidden recycler.

I should send you to call recycler.setVisibility(View.VISIBLE); where you send to fill your adapter right where you compare if you have results or not

    
answered by 21.12.2017 / 21:24
source
1

The main reason why a RecyclerView does not call the onCreateViewHolder() method, is because getItemCount() can have defined that returns 0 views:

@Override
public int getItemCount() {
    return 0;
}

You must always ensure that you return the measure of the number of elements:

@Override
public int getItemCount() {
    return lista.size();
}

The second reason is that you omit to call setHasFixedSize(true) , after configuring the Adapter:

myReciclerView.setAdapter(adaptador);
myReciclerView.setHasFixedSize(true);
    
answered by 20.12.2017 в 22:55