Элементы анимируются с их первоначального положения во время перетаскивания

#android

#Android

Вопрос:

У меня есть вопрос о том, что я могу сделать неправильно при реализации перетаскивания в просмотре вторичной переработки. Я добавил анимацию здесь, чтобы проиллюстрировать свою проблему:

введите описание изображения здесь

Во время перетаскивания, внутри onMove() , я звоню adapter.notifyItemMoved() , что хорошо работает. Элементы переупорядочиваются, как и ожидалось, во время перетаскивания. И когда я отпускаю, перетаскиваемый элемент анимируется в новое положение, также как и ожидалось.

Проблема возникает, когда я обновляю набор данных (который отображает адаптер) по завершении. При этом элементы перемещаются в исходное положение (как и до перетаскивания), а затем анимируются в нужное место. По какой-то причине адаптер, похоже , игнорирует обновленные позиции всех элементов, которые я установил notifyItemMoved() , и вместо этого выполняет анимацию с их начальной позиции.

У кого-нибудь есть какие-либо идеи о том, что я могу делать концептуально неправильно? Или если есть какая-то настройка, которую я пропустил? На мой взгляд, аниматор должен знать, что виды уже находятся в нужном месте, и вообще не перемещать их.