Suppression d'éléments de RecyclerView à l'aide du bouton croisé
Dans votre adaptateur RecyclerView, vous devrez gérer les événements de bouton croisé et supprimer l'élément correspondant à partir de l’ensemble de données. Voici une version améliorée de votre adaptateur :
<code class="java">public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener { private ArrayList<String> mDataset; private static Context sContext; public MyAdapter(Context context, ArrayList<String> myDataset) { mDataset = myDataset; sContext = context; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.my_text_view, parent, false); ViewHolder holder = new ViewHolder(v); holder.mNameTextView.setOnClickListener(this); holder.mCrossButtonImageView.setOnClickListener(this); return holder; } @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.mNameTextView.setText(mDataset.get(position)); } @Override public int getItemCount() { return mDataset.size(); } @Override public void onClick(View view) { ViewHolder holder = (ViewHolder) view.getTag(); if (view.getId() == holder.mCrossButtonImageView.getId()) { int position = holder.getAdapterPosition(); mDataset.remove(position); notifyItemRemoved(position); Toast.makeText(sContext, "Item " + holder.mNameTextView.getText() + " has been removed from list", Toast.LENGTH_SHORT).show(); } } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView mNameTextView; public ImageView mCrossButtonImageView; public ViewHolder(View v) { super(v); mNameTextView = (TextView) v.findViewById(R.id.nameTextView); mCrossButtonImageView = (ImageView) v.findViewById(R.id.crossButton); } } }</code>
Ce code ajoute un écouteur onClick au bouton en croix, qui supprime l'élément correspondant lorsque vous cliquez dessus. Notez que getAdapterPosition() doit être utilisé à la place de getPosition(), car getPosition() est désormais obsolète.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!