Как правильно обращаться с кнопкой режима действия “готово”?[дубликат]
-
13-12-2019 - |
Вопрос
Возможный дубликат:
Как вызвать поведение, подобное контекстному меню ActionBar?
Как распознать, нажата ли кнопка Готово в ActionMode
Как правильно обращаться с кнопкой режима действия "готово"?
Я выполняю некоторые операции с объектом в режиме действия и хочу сохранить результат, нажав на эту кнопку - например, "сохранить и выйти".Как я могу отправить нажатие клавиши на эту кнопку?
Единственный способ, который я вижу, - это переопределить метод onDestroyActionMode(режим ActionMode) с флагами, запускаемый в dispatchKeyEvent(событие KeyEvent) для обработки, если это было вызвано нажатием кнопки "назад".
Логкат:
Нажата кнопка "Готово".
10-03 14:31:58.211: D/DESTROY(967): onDestroyActionMode
Нажата кнопка "Назад"
10-03 14:32:01.771: D/DISPATCH(967): Action: 0/n Keykode: 4
10-03 14:32:01.911: D/DISPATCH(967): Action: 1/n Keykode: 4
10-03 14:32:01.911: D/DESTROY(967): onDestroyActionMode
Но это не похоже на хорошую практику.Есть ли какое-нибудь "хорошее" решение?
UPD:Я знаю, как вызвать режим действия и обрабатывать события элемента действия в ActionMode.Обратный вызов, но как я могу перехватить нажатие кнопки "Готово", чтобы изменить его поведение? Кнопки "Назад" и "Готово" ведут к ActionMode.Callback
'с onDestroyActionMode()
вызов.
Решение
Этот шаблон называется CAB (контекстная панель действий).Пожалуйста, взгляните на Руководство по меню и найдите такси на официальном сайте : Использование режима контекстного действия