To add navigation to a screen, you can add ScreenAction to controls or menus that take actions.
protected void configureObjectHandlersById( int ID, Object object) { switch (ID) { ... case MENU2: MenuAction menu2 = (MenuAction) object; //Create list of actions ActionList actionList15 = new ActionList(); IBOBAction connectionAction9 = new ScreenAction(UIDefinition.getScreen("screen16"), false, null); menu2.setAction(actionList15); IBOBAction contextAction4 = new SaveMobileDataContextAction( cellTable1); actionList15.addAction(contextAction4); actionList15.addAction(connectionAction9); ...
To remove navigation, you can override the menu or control's action to remove the screen action.
protected void configureObjectHandlersById( int ID, Object object) { switch (ID) { ... case MENU2: MenuAction menu2 = (MenuAction) object; ... menu2.setAction(xxxx); default: super.configureObjectHandlersById(ID, object);
For controls that support an action, you can create a widget event:
public boolean navigationClick( Object field, int controlID, ActionList actions, int status, int time) { // custom code // modify actions which include the screen action return false; }