Problem with double menu on Screen
Please Login to Remove!
I have a little problem .I’m developing an application that should run on several Blackberry devices such as 7290, 8700 ,8100 ,8300 ,etc …
I’ve an screen where there’re only ObjectChoiceFields and CheckboxFields.
When I use 7290 and 8700 and press the trackwheel ,the menu is displayed.But when I press the new trackball on 8300 and 8100 the menú is not displayed.When I press it,the ObjectChoiceFields are showed and the CheckboxFields are marked. So the menú is never displayed nowhere on the screen!If I press the menu button nothing happens.
I have tryed to use the KeyListener interface to capture the event of the menu button ( the one on the left on the ball ) and force the display:
class capture_track implements KeyListener{
public MainScreen myScreen;
public capture_track (){
}
public boolean keyDown(int keycode, int time){
if(keycode == 268566528){
myScreen.onMenu(0);
return(true);
}
return(false);
}
}
It works because now I can see the Menu by pressing the Menu button,but the problem is the following : in another screen of my application ( where there're only LabelFields for example ) when I press the trackball I see the menu (because I press the trackball when the focus is on a Label -> no problem ).
The problem comes when I press the trackball and then I press the menu button ,I get two menu on the screen at the same time!
I’ve tried to do :
public void makeMenu(Menu menu, int instance) {
if(instance != 0 and myScreen.getMenu(0) != null){
myScreen.getMenu(0).close();
}
}
But I get an “StackOverFlow” exception, so this is not the googd way.
Resume:
I can press the menu button and then the trackball button .That works good..But if I press the trackball first and then the menu button I get 2 menu at the same time on screen.
How can I solve this?
I really would appreciate some help with this.
|