2012-04-25 17 views

cevap

31

Böyle kodda menü oluşturabilirsiniz:

/*************************************/ 
/* 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; 
} 

Bool değişkenler için kontrol içinde. Menüyü yeniden oluşturmak için supportInvalidateOptionsMenu() öğesini çağırmanız gerekecektir.

+0

Teşekkürler. Harika çalışıyor! – hdoria

7

Sen yöntem onCreateOptionsMenu (Menü menüsü) geçersiz kılmak,

boolean hasRss = false; 

ardından düğmesine görüntülemek ve hasRss doğru veya yanlış olup olmadığını görmek için kontrol etmek gerekirse belirleyen bir bayrak koruyabilir. Eğer doğruysa, herhangi bir şeyi yapmak için düğmenizi ekleyin. Eğer RSS veya varsa Sonra ne olursa olsun her zaman göstermek istiyorum normal düğmeler ekleyebilirsiniz değil

@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); 

    } 

size değerleri almak her = true sizin hasRss değerini belirlemek zorunda ve eylemi yeniden invalidateOptionsMenu(); arayacak bar menü öğeleri

+0

Teşekkürler. Harika çalışıyor! – hdoria

İlgili konular