@@ -28,14 +28,15 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
2828 initDrawables()
2929 }
3030
31- override fun getActionMenuId () = R .menu.cab_delete_only
31+ override fun getActionMenuId () = R .menu.cab_checklist
3232
3333 override fun actionItemPressed (id : Int ) {
3434 if (selectedKeys.isEmpty()) {
3535 return
3636 }
3737
3838 when (id) {
39+ R .id.cab_edit -> editNote()
3940 R .id.cab_delete -> deleteSelection()
4041 }
4142 }
@@ -48,7 +49,14 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
4849
4950 override fun getItemKeyPosition (key : Int ) = items.indexOfFirst { it.id == key }
5051
51- override fun prepareActionMode (menu : Menu ) {}
52+ override fun prepareActionMode (menu : Menu ) {
53+ val selectedItems = getSelectedItems()
54+ if (selectedItems.isEmpty()) {
55+ return
56+ }
57+
58+ menu.findItem(R .id.cab_edit).isVisible = isOneItemSelected()
59+ }
5260
5361 override fun onCreateViewHolder (parent : ViewGroup , viewType : Int ) = createViewHolder(R .layout.item_checklist, parent)
5462
@@ -68,6 +76,10 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
6876 checkDrawable = res.getColoredDrawableWithColor(R .drawable.ic_check_big, res.getColor(R .color.md_green_700))
6977 }
7078
79+ private fun editNote () {
80+
81+ }
82+
7183 private fun deleteSelection () {
7284 val removeItems = ArrayList <ChecklistItem >(selectedKeys.size)
7385 val positions = ArrayList <Int >()
@@ -96,6 +108,8 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
96108
97109 private fun getItemWithKey (key : Int ): ChecklistItem ? = items.firstOrNull { it.id == key }
98110
111+ private fun getSelectedItems () = items.filter { selectedKeys.contains(it.id) } as ArrayList <ChecklistItem >
112+
99113 private fun setupView (view : View , checklistItem : ChecklistItem ) {
100114 val isSelected = selectedKeys.contains(checklistItem.id)
101115 view.apply {
0 commit comments