Мне нужно как-то уведомить RecyclerView
, когда я перетаскиваю элемент из другого RecyclerView
на него. Является ли это возможным? Или я должен использовать классический перетащить фреймворк?
RecyclerView
с синими элементами находится в одном фрагменте, а RecyclerView
с красными элементами находится в другом фрагменте.
Я также пробовал использовать ItemTouchHelper, но он onMove ( ) из ItemTouchHelper.Callback не вызывается при перемещении с элементом за пределами
от RecyclerView
.
private class CustomItemTouchCallback extends Callback {
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
return makeMovementFlags(UP|DOWN|START|END, 0);
}
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
android.util.Log.d(TAG, "Move item from:" + viewHolder.getAdapterPosition() + " to: " + target.getAdapterPosition());
return true;
}
@Override
public void onMoved(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, int fromPos, RecyclerView.ViewHolder target, int toPos, int x, int y) {
android.util.Log.d(TAG, "Moved item from:" + fromPos + " to: " + toPos + " x: " + x + " y: " + y);
super.onMoved(recyclerView, viewHolder, fromPos, target, toPos, x, y);
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
}
@Override
public boolean isLongPressDragEnabled() {
return true;
}
@Override
public boolean isItemViewSwipeEnabled() {
return false;
}
}
Я также нахожу это question, но это не решает мою проблему.