package net.lacolaco.smileessence.view import android.content.Context import android.view.MenuItem import android.view.View class PopupMenu(context: Context, anchor: View) { private val popupMenu = android.support.v7.widget.PopupMenu(context, anchor) private val menuItems = LinkedHashMap Unit>() init { popupMenu.setOnMenuItemClickListener { it: MenuItem -> menuItems[it]!!(it) true } } fun add(title: String, cb: (MenuItem) -> Unit) = apply { val item = popupMenu.menu.add(title) menuItems.put(item, cb) } fun add(titleRes: Int, cb: (MenuItem) -> Unit) = apply { val item = popupMenu.menu.add(titleRes) menuItems.put(item, cb) } fun show() = popupMenu.show() }