【发布时间】:2019-06-06 00:18:10
【问题描述】:
我已经使用ItemTouchHelper在recyclerview中实现拖放。它工作正常。但它只适用于长按。我需要用onTouch来做这件事
ItemTouchHelper.Callback itemTouchHelperCallback = new ItemTouchHelper.Callback() {
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
Collections.swap(strings, viewHolder.getAdapterPosition(), target.getAdapterPosition());
adapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
return true;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
//TODO
}
//defines the enabled move directions in each state (idle, swiping, dragging).
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
return makeFlag(ItemTouchHelper.ACTION_STATE_DRAG,
ItemTouchHelper.DOWN | ItemTouchHelper.UP | ItemTouchHelper.START | ItemTouchHelper.END);
}
};
这是我使用的代码。请帮帮我!!!
【问题讨论】:
-
你可以看看我做的这个解决方案:stackoverflow.com/a/57204561/878126
标签: android android-recyclerview itemtouchhelper