From e6e1df75632890cfff806e7b15a0882b9c1ff2c2 Mon Sep 17 00:00:00 2001 From: tanvirahmod Date: Thu, 21 Jan 2021 17:17:47 +0600 Subject: [PATCH] Fix item movement issue --- .../notes/pro/adapters/ChecklistAdapter.kt | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/ChecklistAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/ChecklistAdapter.kt index 9dbb1460..2460c0f9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/ChecklistAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/ChecklistAdapter.kt @@ -60,8 +60,8 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList moveSelectedItems(true) - R.id.cab_move_to_bottom -> moveSelectedItems(false) + R.id.cab_move_to_top -> moveSelectedItemsToTop() + R.id.cab_move_to_bottom -> moveSelectedItemsToBottom() R.id.cab_rename -> renameChecklistItem() R.id.cab_delete -> deleteSelection() } @@ -147,16 +147,26 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList + val position = items.indexOfFirst { it.id == keys.value } + val tempItem = items[position] + items.removeAt(position) + items.add(0, tempItem) + } + notifyDataSetChanged() + listener?.saveChecklist() + } + + private fun moveSelectedItemsToBottom() { selectedKeys.withIndex() .forEach { keys -> val position = items.indexOfFirst { it.id == keys.value } val tempItem = items[position] - items.remove(tempItem) - if (isMoveToTop) - items.add(0, tempItem) - else - items.add(items.size, tempItem) + items.removeAt(position) + items.add(items.size, tempItem) } notifyDataSetChanged() listener?.saveChecklist()