ItemTouchHelper.Callback?mCallback?=?new?ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP|ItemTouchHelper.DOWN,ItemTouchHelper.RIGHT)?{
?
??@Override
??public?boolean?onMove(RecyclerView?recyclerView,?RecyclerView.ViewHolder?viewHolder,?RecyclerView.ViewHolder?target)?{
????int?fromPosition?=?viewHolder.getAdapterPosition();//得到拖動ViewHolder的position
????int?toPosition?=?target.getAdapterPosition();//得到目標ViewHolder的position
????if?(fromPosition?<?toPosition)?{
??????//分別把中間所有的item的位置重新交換
??????for?(int?i?=?fromPosition;?i?<?toPosition;?i++)?{
????????Collections.swap(datas,?i,?i?+?1);
??????}
????}?else?{
??????for?(int?i?=?fromPosition;?i?>?toPosition;?i--)?{
????????Collections.swap(datas,?i,?i?-?1);
??????}
????}
????mAdapter.notifyItemMoved(fromPosition,?toPosition);
????//返回true表示執行拖動
????return?true;
??}
??@Override
??public?void?onSwiped(RecyclerView.ViewHolder?viewHolder,?int?direction)?{
????int?position?=?viewHolder.getAdapterPosition();
????datas.remove(position);
????mAdapter.notifyItemRemoved(position);
??}
};
ItemTouchHelper?itemTouchHelper?=?new?ItemTouchHelper(mCallback);
itemTouchHelper.attachToRecyclerView(mRecyclerView);拖拽上下滑動不了是怎么會事啊
添加回答
舉報
0/150
提交
取消