recycleView的条目长按换位置

private void detailTouch() {
    ItemTouchHelper itemTouchHelper=new ItemTouchHelper
            (new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.UP | ItemTouchHelper.DOWN) {

                @Override
                public boolean isItemViewSwipeEnabled() {
                    return false;
                }

                @Override
                public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
                    int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN;
                    int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END;
                    return makeMovementFlags(dragFlags, swipeFlags);
                }
                /**
                 * 处理拖拽事件
                 */
                @Override
                public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
                    if (listMain != null) {
                        // 更换数据源中的数据Item的位置
                        Collections.swap(listMain, viewHolder.getAdapterPosition(), target.getAdapterPosition());
                        // 更新UI中的Item的位置,主要是给用户看到交互效果
                        industryChannelAdapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
                        return true;
                    }
                    return false;
                }
                //处理滑动删除
                @Override
                public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
                }
            });
    itemTouchHelper.attachToRecyclerView(recyclerView);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值