Hinzufügen und Entfernen von Android RecyclerView-Elementen
Problem
Diese RecyclerView-Implementierung enthält ein TextView-Feld und eine Kreuzschaltfläche (ImageView). Eine Schaltfläche außerhalb von RecyclerView wird verwendet, um die Sichtbarkeit der Kreuzschaltfläche umzuschalten. Das Ziel besteht darin, ein Element aus der RecyclerView zu entfernen, wenn auf die entsprechende Kreuzschaltfläche geklickt wird.
Lösung
Innerhalb der ViewHolder-Klasse des Adapters:
Beispieladaptercode
<code class="java">public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private ArrayList<String> mDataset; public MyAdapter(ArrayList<String> myDataset) { mDataset = myDataset; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) { // ... holder.mNameTextView.setOnClickListener(this); holder.crossButton.setOnClickListener(this); return holder; } @Override public void onBindViewHolder(ViewHolder holder, int position) { // ... } @Override public void onClick(View view) { if (view.getId() == holder.crossButton.getId()) { removeAt(holder.getAdapterPosition()); } else if (view.getId() == holder.mNameTextView.getId()) { // ... } } public void removeAt(int position) { mDataset.remove(position); notifyItemRemoved(position); notifyItemRangeChanged(position, mDataset.size()); } public static class ViewHolder extends RecyclerView.ViewHolder { TextView mNameTextView; ImageView crossButton; public ViewHolder(View v) { super(v); mNameTextView = (TextView) v.findViewById(R.id.nameTextView); crossButton = (ImageView) v.findViewById(R.id.crossButton); } } }</code>
Das obige ist der detaillierte Inhalt vonWie entferne ich Elemente aus einer Android RecyclerView mit Kreuzschaltflächen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!