安卓 recycleView长按删除子项
时间: 2023-09-01 13:13:36 浏览: 99
Android中RecyclerView的长按删除
要在安卓的RecyclerView中实现长按删除子项的功能,您可以按照以下步骤进行:
1. 实现一个长按事件监听器,可以在用户长按某个子项时被触发。
```java
public interface OnItemLongClickListener {
void onItemLongClick(View view, int position);
}
```
2. 在RecyclerView的Adapter中设置一个长按事件监听器。
```java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private OnItemLongClickListener onItemLongClickListener;
public void setOnItemLongClickListener(OnItemLongClickListener onItemLongClickListener) {
this.onItemLongClickListener = onItemLongClickListener;
}
// ...
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
// ...
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if (onItemLongClickListener != null) {
onItemLongClickListener.onItemLongClick(v, position);
}
return true;
}
});
}
// ...
}
```
3. 在Activity或Fragment中实现该长按事件监听器,并在其中删除对应的子项。
```java
myAdapter.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public void onItemLongClick(View view, int position) {
// 删除对应的子项
myDataset.remove(position);
myAdapter.notifyItemRemoved(position);
}
});
```
这样,当用户长按某个子项时,就会触发相应的长按事件监听器,从而删除对应的子项。
阅读全文