2012-03-06 138 views
-1

我有5菜單的主屏幕和特定操作後,我需要刪除它們中的2個在執行操作的方法,我可以刪除菜單項programetically?黑莓刪除菜單項

+0

看到[這篇文章](http://stackoverflow.com/a/4538330/593709) – 2012-03-06 11:35:29

+0

謝謝阿迪爾得到了點 – 2012-03-06 11:40:38

+0

檢查'Menu'類文檔http://www.blackberry.com/developers/docs/ 6.0.0api/net/rim/device/api/ui/component/Menu.html – mrvincenzo 2012-03-06 11:47:32

回答

0

運行此示例代碼:

public class Abc extends MainScreen 
{ 
    ButtonField click; 

    MenuItem saveMenu; 

    public Abc() 
    {  
     createGUI(); 
    } 

    private void createGUI() 
    { 
     saveMenu=new MenuItem("Save", 100, 101); 
     addMenuItem(saveMenu); 

     click=new ButtonField("click"); 
     click.setChangeListener(new FieldChangeListener() 
     { 
      public void fieldChanged(Field field, int context) 
      { 
       removeTheMenu(saveMenu); 
      } 
     }); 
     add(click); 


    } 

    public void removeTheMenu(MenuItem menuItem) 
    {   
     Screen screen=Ui.getUiEngine().getActiveScreen(); 
     Menu menu=screen.getMenu(0);//Gives the Menu list of active screen only; 
     for(int i=0;i<menu.getSize();i++) 
     { 
      if(menu.getItem(i).toString().equalsIgnoreCase(menuItem.toString())) 
      { 
       removeMenuItem(menuItem); 
       Status.show("Removed Successfully", 1000); 
      }  
     }  
    } 
} 

此代碼可以幫助你;