BaseRecyclerViewAdapterHelper实现拖拽Item

导入依赖

 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列表的操作,只是实现拖拽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值