Как закрыть меню ActionMode программно на Honeycomb?
в моем приложении есть ListFragment, где каждый элемент в списке содержит флажок. Когда пользователь нажимает на один из этих флажков приложение запускает контекстное меню ActionMode. Но я хочу, чтобы приложение, чтобы закрыть меню ActionMode при нажатии на другой компонент. Я пытался!--0--> без успеха.
любые идеи, как я могу это сделать?
2 ответов
всякий раз, когда вы создаете/запускаете ActionMode Create by
mMode = startActionMode(....);
чтобы отклонить его, используйте следующий синтаксис
if (mMode != null)
{
mMode.finish();
}
Котлин код
использовать ActionMode.Отзвонились закончить ActionMode
после нажатия пункта меню
private val actionModeCallbacks = object : ActionMode.Callback {
override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean {
mode.menuInflater.inflate(R.menu.menu_action_mode, menu)
return true
}
override fun onPrepareActionMode(mode: ActionMode, menu: Menu): Boolean {
return false
}
override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean {
when (item.itemId) {
R.id.menu_item -> {
mode.finish() // after click of menu item close action mode
return true
}
}
return false
}
override fun onDestroyActionMode(mode: ActionMode) {
}
}
startSupportActionMode
(activity as AppCompatActivity).startSupportActionMode(actionModeCallbacks)