Skip to content

Commit e6e1df7

Browse files
committed
Fix item movement issue
1 parent 3fa9beb commit e6e1df7

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/ChecklistAdapter.kt

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
6060
}
6161

6262
when (id) {
63-
R.id.cab_move_to_top -> moveSelectedItems(true)
64-
R.id.cab_move_to_bottom -> moveSelectedItems(false)
63+
R.id.cab_move_to_top -> moveSelectedItemsToTop()
64+
R.id.cab_move_to_bottom -> moveSelectedItemsToBottom()
6565
R.id.cab_rename -> renameChecklistItem()
6666
R.id.cab_delete -> deleteSelection()
6767
}
@@ -147,16 +147,26 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
147147
}
148148
}
149149

150-
private fun moveSelectedItems(isMoveToTop: Boolean) {
150+
private fun moveSelectedItemsToTop() {
151151
selectedKeys.withIndex()
152+
.reversed()
152153
.forEach { keys ->
153154
val position = items.indexOfFirst { it.id == keys.value }
154155
val tempItem = items[position]
155-
items.remove(tempItem)
156-
if (isMoveToTop)
157-
items.add(0, tempItem)
158-
else
159-
items.add(items.size, tempItem)
156+
items.removeAt(position)
157+
items.add(0, tempItem)
158+
}
159+
notifyDataSetChanged()
160+
listener?.saveChecklist()
161+
}
162+
163+
private fun moveSelectedItemsToBottom() {
164+
selectedKeys.withIndex()
165+
.forEach { keys ->
166+
val position = items.indexOfFirst { it.id == keys.value }
167+
val tempItem = items[position]
168+
items.removeAt(position)
169+
items.add(items.size, tempItem)
160170
}
161171
notifyDataSetChanged()
162172
listener?.saveChecklist()

0 commit comments

Comments
 (0)