mirror of
https://github.com/SimpleMobileTools/Simple-Notes.git
synced 2025-03-25 04:50:20 +01:00
Fix item movement issue
This commit is contained in:
parent
3fa9bebcb2
commit
e6e1df7563
@ -60,8 +60,8 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
|
||||
}
|
||||
|
||||
when (id) {
|
||||
R.id.cab_move_to_top -> 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<Checkl
|
||||
}
|
||||
}
|
||||
|
||||
private fun moveSelectedItems(isMoveToTop: Boolean) {
|
||||
private fun moveSelectedItemsToTop() {
|
||||
selectedKeys.withIndex()
|
||||
.reversed()
|
||||
.forEach { keys ->
|
||||
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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user