Я реализовал ItemTouchHelper для настройки перетаскивания снизу вверх и сверху вниз, когда проведено сканирование, после чего он должен обновить список.Но не работает метод обратного вызова, из-за которого мне приходится обновлять список.
Когда я смахиваю свой список, то после завершения сканирования он не вызывает onMoved
или onSwiped
.
Исходный код:
ItemTouchHelper helper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN,0) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder dragged, RecyclerView.ViewHolder target) {
int position_dragged = dragged.getAdapterPosition();
int position_target = target.getAdapterPosition();
adapter.notifyItemMoved(position_dragged,position_target);
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
//Toast.makeText(getActivity(),"swiped",Toast.LENGTH_SHORT).show();
adapter.notifyDataSetChanged();
}
@Override
public void onMoved(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, int fromPos, @NonNull RecyclerView.ViewHolder target, int toPos, int x, int y) {
super.onMoved(recyclerView, viewHolder, fromPos, target, toPos, x, y);
adapter.notifyDataSetChanged();
}
});
helper.attachToRecyclerView(null);
helper.attachToRecyclerView(myRecyclerView);