Boa tarde pessoal.
Eu estou fazendo os controles relativos aos botões dos Menu da ActionBar no caso Sherlock, pois estou fazendo um app para Android 3.x -. E estou com algumas dúvidas.
O que eu preciso fazer é o seguinte, eu tenho uma SherlockActivity que quando abro ela, ela já é uma tela de cadastro pronta para inserir um novo registro e nela eu faço a criação do Menu:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Used to put dark icons on light action bar
menu.add("Gravar")
.setIcon(R.drawable.ic_action_ic_grava)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
menu.add("Cancelar")
.setIcon(R.drawable.ic_action_ic_cancelar)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
menu.add("Pesquisar")
.setIcon(R.drawable.ic_action_ic_pesquisar)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
return true;
}
Só que por exemplo neste próprio Menu quando eu clico no botão Pesquisar, ele abre uma ListView com vários registros, quando eu escolho algum deles ele me devolve o objeto carregado e eu mostro ele na tela e ai então o Menu deveria mudar os botões para Alterar, Cancelar e Pesquisar. E quando clicado em Alterar exibisse apenas Gravar e Cancelar.
Minhas dúvidas seriam as seguintes:
Da maneira que eu colei acima o modo como eu estou criando o Menu de forma fixa no OnCreate, seria o ideal? Ou seria melhor ter um xml próprio para o Menu?
Outra dúvida, li a documentação do Android onde está bem especificado:
Que nos Android 2.3.x abaixo, o Menu chama o onPrepareOptionsMenu cada vez que é pressionado o botão de Menu. Já nas versões superiores você precisa chamar o invalidateMenuOptions que ele já chama o onPrepare.
No caso da ActionBarSherlock, eu faria a implementação como é indicado nas versões 2.3.x acima. E faria as verificações dentro do onPrepareMenuOptions?
Obrigado desde já.
-- 





0 comentários:
Postar um comentário