0
public class xyz extends PopupScreen{
}

现在我想在这个屏幕弹出时添加菜单项。我尝试在主屏幕的情况下添加菜单项,但它在弹出屏幕中不起作用。

4

2 回答 2

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();
}
}
于 2012-04-04T12:21:10.387 回答
1

无法在弹出屏幕上添加菜单,因为问题是例如:-

我有一个主屏幕调用作为示例屏幕,在示例屏幕上可以说我有保存和取消菜单,现在我从主屏幕推送一个弹出屏幕。现在,如果我说我想在弹出屏幕上保存和取消菜单,那么黑莓无法识别是哪个菜单,它是示例屏幕还是弹出屏幕。

所以,这就是为什么黑莓不支持弹出屏幕上的菜单。

于 2012-04-04T11:56:22.600 回答