J'ai un problème, je ne comprends pas pourquoi mes CardViews
ont cet effet.Android Adaptateur ne fonctionne pas lors de la sélection de plusieurs vues de cartes
J'ai besoin de sélectionner un ou plusieurs CardViews
mais mon adaptateur ne fonctionne pas correctement. Ma mise en œuvre de l'adaptateur est-elle incorrecte?
Mon adaptateur
public class PersonasAdapter extends RecyclerView.Adapter <PersonasAdapter.PersonasViewHolder> {
private Persona subject;
private List <Persona> personastList;
public PersonasAdapter() {}
public PersonasAdapter(List <Persona> personastList) {
this.personastList = personastList;
}
@Override
public void onBindViewHolder(final PersonasViewHolder personasViewHolder, int i) {
Persona ci = personastList.get(i);
personasViewHolder.txtNombre.setText(ci.getNombre());
personasViewHolder.txtUsuario.setText(ci.getUsuario());
personasViewHolder.txtTwitter.setText(ci.getTwitter());
subject = personastList.get(i);
personasViewHolder.card_view.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(v.getContext(), "Eliminar Cardview", Toast.LENGTH_SHORT).show();
personasViewHolder.card_view.setBackgroundResource(R.color.colorPrimary);
return false;
}
});
personasViewHolder.card_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(), "Reproducir", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public PersonasViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View itemView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.card_layout_persona, viewGroup, false);
cardView
return new PersonasViewHolder(itemView);
}
Classe statique
public static class PersonasViewHolder extends RecyclerView.ViewHolder {
protected TextView txtNombre;
protected TextView txtUsuario;
protected TextView txtTwitter;
protected CardView card_view;
public PersonasViewHolder(View v) {
super(v);
txtNombre = (TextView) v.findViewById(R.id.txtNombre);
txtUsuario = (TextView) v.findViewById(R.id.txtUsuario);
txtTwitter = (TextView) v.findViewById(R.id.txtTwitter);
card_view = (CardView) v.findViewById(R.id.card_view);
}
}
//Metodo que nos retornarta la cantidad de personas en la lista
@Override
public int getItemCount() {
return personastList.size();
}
}
Salut, regarde bien. Mais c'est incroyable pour moi que presque chaque article/blog sur RecyclerViews se concentre sur la création d'une liste, mais aucun sur l'enregistrement de la liste. Il n'est pas bon de créer une liste magnifiquement conçue/précieuse (disons une grande liste de chansons que je veux télécharger) et ensuite avoir la liste littéralement détruite si je m'éloigne de la liste avec la simple pression du bouton de retour. Pourquoi l'enregistrement du code d'état ne serait-il pas nécessaire pour créer chaque liste RecyclerView comme les autres exigences: l'adaptateur, le gestionnaire de disposition, onCreateViewHolder, onBindViewHolder et getItemCount? Pensées? – AJW