나는 GridManagerLayout
으로 RecyclerView
을 만들었습니다.Recycler보기 카테고리별로 항목 정렬
간편성을 위해 내 카드는 2 차원, ID 및 희귀 성을가집니다. 나는 그들의 ID 또는 희소성에 의해 그리드에 카드를 배열하는 버튼을 갖고 싶습니다. 카드를 움직여 새로운 위치로 움직일 수 있도록하기 위해 내가해야 할 일은 무엇이겠습니까?
버튼을 눌렀을 때 ArrayList
을 새로 작성하려고 시도한 후 notifydDatasetChanged()
. 항목의 위치가 올바르게 전환되지만 애니메이션이 없습니다. 즉, 새 위치 효과에 "이동" 이 아닌 카드가 다시 채워집니다. 현재 목록을 변경하는 대신 새로운 ArrayList
을 정의하고 있으므로이 경우라고 생각합니다.
나는 이것을하기 위해 Collections.swap
을 사용해야한다고하는 또 다른 글을 읽었습니다. 이것이 내가 추구해야하는 것인지 확실하지 않습니다.
어떤 조언이 필요합니까?
저는 이것을 시도하지는 않았지만 단지 그것을 보았습니다. 이전 배열의 맨 위에 추가 했습니까? 내 원래 목록에있는 항목을 복제할까요? –
@ImranHamid 예, 그렇습니다! 하지만 새 목록을 추가하기 전에 원본을 지울 수 있습니다. 나는 당신의 애니메이션 문제를 해결하려고 노력했을뿐입니다. –
도움을 주셔서 감사합니다! 나는'notifyItemMoved()'를 사용하면'Collections.swap'을 사용할 때 위치 이동 애니메이션을 처리한다는 것을 깨달았습니다. –