public class xyz extends PopupScreen{
}
现在我想在弹出此屏幕时添加菜单项。我尝试添加菜单项,如在主屏幕的情况下,但它不能在popupScreen中工作。
答案 0 :(得分:1)
在弹出屏幕菜单上无法添加,因为问题是例如: -
我有一个主屏幕调用作为示例屏幕,在示例屏幕上让我说我有保存和取消菜单,现在从主屏幕我按下一个弹出屏幕。现在,如果我说我想在弹出屏幕上同时保存和取消菜单,那么黑莓无法识别哪个菜单,无论是样本屏幕还是弹出屏幕。
所以,这就是为什么黑莓不支持弹出屏幕上的菜单。
答案 1 :(得分: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();
}
}