BaseRecyclerViewAdapterHelper之BaseItemDraggableAdapter实现拖拽功能

    xiaoxiao2021-03-25  111

    一个实体类RectclerItem(同上)

    一个item(view_list_item)的视图文件(同上)

    适配器ItemDraggableAdapter

    public class ItemDraggableAdapter extends BaseItemDraggableAdapter<RecyclerItem,BaseViewHolder> { public ItemDraggableAdapter(int layoutResId, List<RecyclerItem> data) { super(layoutResId, data);    } @Override    protected void convert(BaseViewHolder helper, RecyclerItem item) { helper.setText(R.id.list_item_title_tv,item.getTitle()) .setText(R.id.list_item_content_tv,item.getContent());    } }

    ItemDraggableActivity

    public class ItemDraggableActivity extends BaseRecyclerViewActivity { private ItemDraggableAdapter itemDraggableAdapter;    @Override    protected int getLayoutResId() { return super.getLayoutResId();    } @Override    protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState);        titleNameTv.setText("BaseItemDraggableAdapter实现拖拽");        itemDraggableAdapter = new ItemDraggableAdapter(R.layout.view_list_item,getListData(20));        itemDraggableAdapter.openLoadAnimation(BaseQuickAdapter.SLIDEIN_RIGHT);        recyclerView.setAdapter(itemDraggableAdapter);        ItemDragAndSwipeCallback itemDragAndSwipeCallback = new ItemDragAndSwipeCallback(itemDraggableAdapter);        ItemTouchHelper itemTouchHelper = new ItemTouchHelper(itemDragAndSwipeCallback);        itemTouchHelper.attachToRecyclerView(recyclerView);        // 开启拖拽        itemDraggableAdapter.enableDragItem(itemTouchHelper,R.id.view_list_item_ll,true);        itemDraggableAdapter.setOnItemDragListener(onItemDragListener);        // 开启滑动删除        itemDraggableAdapter.enableSwipeItem();        itemDraggableAdapter.setOnItemSwipeListener(onItemSwipeListener);    } @Override    protected void onRefreshComplete() { itemDraggableAdapter.addData(0,getListData(3));        recyclerView.scrollToPosition(0);    } OnItemDragListener onItemDragListener = new OnItemDragListener() { @Override        public void onItemDragStart(RecyclerView.ViewHolder viewHolder, int pos) { ToastUtils.showShortToast("你在拖拽第" + (pos + 1) + "个位置的item哦!");        } @Override        public void onItemDragMoving(RecyclerView.ViewHolder source, int from,                                     RecyclerView.ViewHolder target, int to) { } @Override        public void onItemDragEnd(RecyclerView.ViewHolder viewHolder, int pos) { ToastUtils.showShortToast("拖拽到了第" + (pos + 1) + "个位置哦!");        } };    OnItemSwipeListener onItemSwipeListener = new OnItemSwipeListener() { @Override        public void onItemSwipeStart(RecyclerView.ViewHolder viewHolder, int pos) { ToastUtils.showShortToast("继续向左滑动即可删除第" + (pos + 1) + "个位置的item");        } @Override        public void clearView(RecyclerView.ViewHolder viewHolder, int pos) { } @Override        public void onItemSwiped(RecyclerView.ViewHolder viewHolder, int pos) { ToastUtils.showShortToast("删除了第" + (pos + 1) + "个位置的item哦");        } @Override        public void onItemSwipeMoving(Canvas canvas, RecyclerView.ViewHolder viewHolder,                                      float dX, float dY, boolean isCurrentlyActive) { } }; }
    转载请注明原文地址: https://ju.6miu.com/read-5057.html

    最新回复(0)