2012-04-04 52 views

回答

1

在彈出的屏幕菜單不能添加,因爲該問題是,例如: -

我有一個mainscreen調用作爲樣本畫面,並在樣品屏幕讓的說我從主保存和取消菜單,現在屏幕我推一個彈出式屏幕。現在,如果我說我想要在彈出屏幕上保存並取消菜單,那麼黑莓手機無法識別哪個菜單,無論是示例屏幕還是彈出屏幕。

所以,這就是爲什麼黑莓不支持彈出屏幕上的菜單。

1

試試這個示例類喜歡你的要求:

public class SimpleScreen extends MainScreen 
{ 
Font font; 
private MenuItem saveItem; 
private ButtonField buttonField; 
public SimpleScreen() 
{ 
    font=Font.getDefault().derive(Font.ITALIC|Font.BOLD, 20); 
    createGUI();   
    this.setFont(font); 
} 

private void createGUI() 
{ 
    buttonField=new ButtonField("Click For Popup",Field.FIELD_HCENTER); 
    buttonField.setChangeListener(new FieldChangeListener() 
    { 
     public void fieldChanged(Field field, int context) 
     { 
      UiApplication.getUiApplication().pushScreen(new ScreenPopup(SimpleScreen.this)); 
     } 
    }); 
    add(buttonField); 

} 

public void addMenuItemToMenu() 
{ 
    if(saveItem==null) 
    { 
     saveItem=new MenuItem("Save",100,101) 
     { 
      public void run() 
      { 
       Status.show("Clicked on Save Menu", 500); 
      } 
     }; 
     addMenuItem(saveItem); 
    } 
}   
} 

class ScreenPopup extends PopupScreen 
{ 
private SimpleScreen simpleScreen; 
public ScreenPopup(SimpleScreen simpleScreen) 
{ 
    super(new HorizontalFieldManager(),PopupScreen.DEFAULT_CLOSE); 
    this.simpleScreen=simpleScreen; 
    this.add(new LabelField("ADDING Menu By Clicking the Back Button")); 
} 

public boolean onClose() 
{ 
    simpleScreen.addMenuItemToMenu(); 
    return super.onClose(); 
} 
} 
+0

感謝您的答案,但我通過擴展主屏幕來製作自定義對話框........................... – user1155773 2012-04-05 10:12:02