在你会使用recyclerView前提下:
1,在Activity里面添加如下代码:
定义一个heleper对象并且在其内部实现如下方法/// ItemTouchHelper helper = new ItemTouchHelper(new ItemTouchHelper.Callback() { @Override public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { //首先回调的方法 返回int表示是否监听该方向 int dragFlags = ItemTouchHelper.UP|ItemTouchHelper.DOWN;//拖拽 int swipeFlags = ItemTouchHelper.LEFT|ItemTouchHelper.RIGHT;//侧滑删除 return makeMovementFlags(dragFlags,swipeFlags); } @Override public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { //滑动事件 Collections.swap(lists,viewHolder.getAdapterPosition(),target.getAdapterPosition()); cententMessageAdata.notifyItemMoved(viewHolder.getAdapterPosition(),target.getAdapterPosition()); return false; } @Override public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { //侧滑事件 lists.remove(viewHolder.getAdapterPosition()); cententMessageAdata.notifyItemRemoved(viewHolder.getAdapterPosition());//cententMessageAdata是你的适配器 } @Override public boolean isLongPressDragEnabled() { //是否可拖拽 return true; }
});
2,然后在
recyclerView.setAdapter(cententMessageAdata);
后面加上
helper.attachToRecyclerView(recyclerView);
就可以了