Pergunta

Possível duplicata:
Como invocar o comportamento semelhante ao ContextMenu do ActionBar?
Como reconhecer se o botão Concluído foi clicado no ActionMode

Como lidar corretamente com o botão "concluído" do modo de ação?

Action mode done button

Realizo algumas operações em um objeto no modo de ação e quero salvar o resultado clicando neste botão - como "salvar e sair".Como posso despachar o pressionamento de tecla neste botão?

A única maneira que vejo é substituir o método onDestroyActionMode(ActionMode mode) por sinalizadores, acionados em dispatchKeyEvent(KeyEvent event) para lidar se foi causado pelo pressionamento do botão "voltar".

Logcat:

"Concluído" pressionado

10-03 14:31:58.211: D/DESTROY(967): onDestroyActionMode  

"Voltar" pressionado

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

Mas não parece uma boa prática.Existe alguma solução "legal"?

Atualização:Eu sei como invocar o modo de ação e lidar com eventos de itens de ação em ActionMode.Callback, mas como posso pressionar o botão "Concluído" para modificar seu comportamento? O botão "Voltar" e o botão "Concluído" levam a ActionMode.Callbackde onDestroyActionMode() chamar.

Foi útil?

Solução

Esse padrão é denominado CAB (Contextual Action Bar).Por favor, dê uma olhada no Guia de cardápio e pesquise CAB no site oficial: Usando o modo de ação contextual

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top