通过拖放将新元素的顺序重新排序后,是否具有获取RecyclerView新元素顺序的功能?

时间:2019-04-06 04:55:40

标签: android android-recyclerview

我正在构建一个照相簿应用程序,我需要使用这样的拖放功能在RecyclerView中对所选择的图像进行重新排序

an example

实际上我拖放了,但是我不知道如何获得新订单!

我尝试访问适配器中的列表,但有时顺序正确,有时不正确

for (int i = 0; i < adapter.Hunts.size(); i++) {
            Log.d(TAG, "onMove: "+i+"  "+Hunts.get(i).getName());
}

我希望在某些情况下,拖放后的打印输出与列表的顺序相同,但是在拖放某些元素后会出错!

1 个答案:

答案 0 :(得分:0)

此帖子解决了我的问题 here

问题出在我的ItemTouchHelper内

我用过

ObjectMapper.readValue()

应该

public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
                Collections.swap(Hunts, viewHolder.getAdapterPosition(), target.getAdapterPosition());

                adapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
                return true;
            }

重新排序列表中的项目。