Я создал RecyclerView
с GridManagerLayout
.Recycler просмотреть товары по категориям
Для простоты мои карты имеют 2 размера, их идентификатор и их редкость. Я хотел бы иметь кнопку, которая устраивает карты в сетке либо их идентификатором, либо их редкостью. Каким образом я должен заниматься этим, чтобы я мог анимировать карты, двигаясь на их новые позиции?
Я попытался создать новый ArrayList
при нажатии кнопки, а затем notifydDatasetChanged()
. Элементы переключают позиции в порядке, но нет анимации, т. Е. Карты просто повторно заселены, а не имеют «перемещение» к новому эффекту позиции. Я предполагаю, что это так, так как я определяю новый ArrayList
вместо изменения текущего списка.
Я прочитал еще одно сообщение, в котором говорится, что я должен использовать Collections.swap
, чтобы сделать это. Не уверен, что это то, что я должен преследовать.
Любые советы?
Я не пробовал это, а просто смотрел на него, добавляется ли это поверх предыдущего массива? Разве это не дублирует элементы в моем первоначальном списке? –
@ImranHamid Да, действительно! Но вы можете очистить оригинал перед добавлением нового списка. Я просто пытался решить вашу проблему с анимацией. –
Спасибо за помощь! Я понял, что использование 'notifyItemMoved()' выполняет анимацию перемещения позиции при использовании 'Collections.swap'. –