08-24-2012 05:07 AM
I want to Create sub menu for a BB application when I click on menu item it shows
Option 1 Option 2 Option 3
When I click on option 3 it should display
1 2 3
as sub menu items
using javascript
08-25-2012 08:02 AM
08-27-2012 03:48 AM
Thinks
Yes I have see this but it's to create a menu not a sub menu
08-27-2012 03:51 AM - edited 08-27-2012 03:52 AM
welcome to the support forums.
since 6.0 you can use
http://www.blackberry.com/developers/docs/7.1.0api
on 5.0 or lower you would have to code your own menu
08-27-2012 06:44 AM
Try this:
public class SampleScreen extends MainScreen implements FieldChangeListener
{
SubMenu statusSubMenu,openSubMenu;
ButtonField buttonField,click;
private MenuItem available = new MenuItem(new StringProvider("Available"), 100, 1)
{
public void run()
{
Dialog.inform("I'm available");
}
};
private MenuItem unAvailable = new MenuItem(new StringProvider("Unavailable"), 200, 2)
{
public void run()
{
Dialog.inform("I'm unavailable");
}
};
private MenuItem saveMenu = new MenuItem(new StringProvider("Save"), 100, 1)
{
public void run()
{
Dialog.inform("I'm Save");
}
};
private MenuItem saveAsMenu = new MenuItem(new StringProvider("Save As"), 200, 2)
{
public void run()
{
Dialog.inform("I'm Save As");
}
};
public SampleScreen()
{
setTitle("Create Submenu Sample");
createGUI();
}
private void createGUI()
{
add(new RichTextField("Create a submenu",Field.FOCUSABLE));
buttonField=new ButtonField("Check");
buttonField.setChangeListener(this);
add(buttonField);
click=new ButtonField("click");
click.setChangeListener(this);
add(click);
statusSubMenu = new SubMenu(null,"My Status",300,3);
statusSubMenu.add(available);
statusSubMenu.add(unAvailable);
openSubMenu = new SubMenu(null,"Open",400,4);
openSubMenu.add(saveMenu);
openSubMenu.add(saveAsMenu);
}
protected void makeMenu( Menu menu, int instance )
{
menu.add(statusSubMenu);
menu.add(openSubMenu);
super.makeMenu(menu, instance);
}
public void fieldChanged(Field field, int context)
{
if(field==buttonField)
{
isHavingSubMenu(statusSubMenu,available);
}
else if(field==click)
{
isHavingSubMenu(openSubMenu,saveAsMenu);
}
}
public void isHavingSubMenu(SubMenu subMenu, MenuItem menuItem)
{
Screen screen=Ui.getUiEngine().getActiveScreen();
Menu menu=screen.getMenu(0);
for(int i=0;i<menu.getSize();i++)
{
// System.out.println("\n=========== Menu ==============="+menu.getItem(i).toString()+"===== ="+subMenu.getMenuItem().toString());
if(menu.getItem(i).toString().equalsIgnoreCase(sub Menu.getMenuItem().toString()))
{
for(int j=0;j<subMenu.getSize();j++)
{
if(subMenu.getItem(j).toString().equalsIgnoreCase( menuItem.toString()))
{
System.out.println("\n========== Sub Menu ================"+subMenu.getItem(j).toString());
subMenu.getItem(j).run();
}
}
}
}
}
}
08-27-2012 08:14 AM
But i want to do with javascript not with java .think's
08-27-2012 08:16 AM