2012-04-25 10 views

Respuesta

31

Puede crear el menú de código como este:

/*************************************/ 
/* Create the actionbar options menu */ 
/*************************************/ 
@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    menu.add(0, 0, 0, "History").setIcon(R.drawable.ic_menu_recent_history) 
      .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); 
    menu.add(0, 1, 0, "Settings").setIcon(R.drawable.ic_menu_manage) 
      .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); 

    return true; 
} 

Dentro cheque por un valor lógico.

Deberá llamar a supportInvalidateOptionsMenu() para volver a crear el menú.

+0

Gracias. ¡¡Funciona genial!! – hdoria

7

Puede mantener un indicador que determina si se necesita mostrar el botón

boolean hasRss = false; 

continuación, reemplazar el método onCreateOptionsMenu (menú Menú) y comprobar para ver si hasRss es verdadera o falsa. Si es verdadero, agrega tu botón para hacer lo que sea. A continuación, puede añadir sus botones normales que desea mostrar siempre sin importar si usted tiene la RSS o no

@Override 
    public boolean onCreateOptionsMenu(Menu menu) 
    { 
     if (hasRss) 
     { 
      menu.add(Menu.NONE, 0, Menu.NONE, "View RSS").setIcon(R.drawable.ic_menu_view) 
         .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 
     } 

     menu.add(Menu.NONE, 1, Menu.NONE, "Normal button that is always there").setIcon(R.drawable.ic_menu_button) 
         .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 

    } 

tendrá que ajustar su valor hasRss = true siempre que recupere sus valores y llamar a invalidateOptionsMenu(); para recargar la acción elementos del menú de la barra

+0

Gracias. ¡¡Funciona genial!! – hdoria

Cuestiones relacionadas