Android RecyclerView 项目添加和删除
问题
此 RecyclerView 实现包括一个 TextView 框和一个十字按钮(ImageView)。 RecyclerView 外部的按钮用于切换十字按钮的可见性。目的是当点击相应的十字按钮时从RecyclerView中删除一个项目。
解决方案
在适配器的ViewHolder类中:
示例适配器代码
<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>
以上是如何使用十字按钮从 Android RecyclerView 中删除项目?的详细内容。更多信息请关注PHP中文网其他相关文章!