Tecnologia do Blogger.
RSS

[androidbrasil-dev] Atualizar Menu no ActionBarSherlock

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á.

--
 
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário