Estamos falando do menu que fica na Actionbar, certo?
Eu faria assim:
--
Jade Moreira da Costa
-- Quando retornasse o tal objeto da list view pra sua activity atual, chamaria o método invalidateoptionsmenu, da classe:
http://developer.android.com/reference/android/support/v4/app/ActivityCompat.html
Dentro do onCreateOptionsMenu eu colocaria um if checando se o objeto que você retorna está null ou não. Se estiver, é porque você acabou de entrar na activity, aí mostra esse menu. Senão, mostra o tal menu novo.
Dentro do onCreateOptionsMenu eu colocaria um if checando se o objeto que você retorna está null ou não. Se estiver, é porque você acabou de entrar na activity, aí mostra esse menu. Senão, mostra o tal menu novo.
Não sei se tem maneira melhor/mais correta de se fazer isso, mas fiz assim e funcionou pra mim :)
Quanto ao XML, eu gosto de ter um para cada botão do menu, porque costumo usar em mais de uma tela.
Mas, independente disso, sempre uso XML pra que no método onde a activity lida com toques no menu eu possa usar, dentro dos "ifs" os ids dos botões clicados.
Abs,
Em 18 de dezembro de 2012 17:58, Guilherme Bernardi <gui.bernardi09@gmail.com> escreveu:
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:@Overridepublic boolean onCreateOptionsMenu(Menu menu) {//Used to put dark icons on light action barmenu.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á.--
Jade Moreira da Costa






0 comentários:
Postar um comentário