导入依赖
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.46'
创建适配器:
public class ScanPayAdapter extends BaseItemDraggableAdapter<ScanPayBean,BaseViewHolder> {
public ScanPayAdapter(@LayoutRes int layoutResId, @Nullable List<ScanPayBean> data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, ScanPayBean item) {
helper.setText(R.id.tvNumberScan, item.getTvDiamondNumber())
.setText(R.id.tvPriceNumberScan, item.getTvDiamondPrice())
.addOnClickListener(R.id.tvSureBuy);
}
}
简单列表继承的是BaseQuickAdapter,实现拖拽继承BaseItemDraggableAdapter
activity页面实现拖拽接口,拖拽之后的操作写方法里
OnItemDragListener onItemDragListener = new OnItemDragListener() {
@Override
public void onItemDragStart(RecyclerView.ViewHolder viewHolder, int pos) {
}
@Override
public void onItemDragMoving(RecyclerView.ViewHolder source, int from, RecyclerView.ViewHolder target, int to) {
}
@Override
public void onItemDragEnd(RecyclerView.ViewHolder viewHolder, int pos) {
}
};
OnItemSwipeListener onItemSwipeListener = new OnItemSwipeListener() {
@Override
public void onItemSwipeStart(RecyclerView.ViewHolder viewHolder, int pos) {
}
@Override
public void clearView(RecyclerView.ViewHolder viewHolder, int pos) {
}
@Override
public void onItemSwiped(RecyclerView.ViewHolder viewHolder, int pos) {
}
@Override
public void onItemSwipeMoving(Canvas canvas, RecyclerView.ViewHolder viewHolder, float dX, float dY, boolean isCurrentlyActive) {
}
};
打开拖拽开关,开启滑动删除
ItemDragAndSwipeCallback itemDragAndSwipeCallback = new ItemDragAndSwipeCallback(scanPayAdapter);
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(itemDragAndSwipeCallback);
itemTouchHelper.attachToRecyclerView(rvScanPay);
scanPayAdapter.enableDragItem(itemTouchHelper, R.id.view_main, true);
scanPayAdapter.setOnItemDragListener(onItemDragListener);
scanPayAdapter.enableSwipeItem();
scanPayAdapter.setOnItemSwipeListener(onItemSwipeListener);
省略了许多实现简单recyclerview列表的操作,只是实现拖拽