Quando tento mudar de uma tela para outra ela simplesmente congela.
Tenho uma tela com imagem carregada, quando clico em um determinado botão para mudar para outra tela e carregar uma outra imagem a aplicação simplesmente para não tem nenhum erro.
Eu acho que o problema pode estar nesta parte do código:
}
private Display display;
private MainMenu mainMenu = new MainMenu();
private SubMenu subMenu = new SubMenu();
public static final Command exitCommand =
new Command(“Exit”, Command.EXIT, 1);
public static final Command backCommand =
new Command(“Back”, Command.BACK, 1);
public void commandAction(Command c, Displayable d) {
if (d == mainMenu & c == exitCommand) {
exitMIDlet();
} else if (d == mainMenu & c == List.SELECT_COMMAND) {
int item = mainMenu.getSelectedIndex();
switch (item) {
case 0:
getDisplay().setCurrent(subMenu);
System.out.println("Selecionou o primeiro");
break;
case 1:
getDisplay().setCurrent(subMenu);
System.out.println("Selecionou o segundo");
break;
case 2:
getDisplay().setCurrent(subMenu);
System.out.println("Selecionou o terceiro");
break;
case 3:
getDisplay().setCurrent(subMenu);
System.out.println("Selecionou o quarto");
break;
}
} else if(d == subMenu & c == backCommand){
display.setCurrent(mainMenu);
}else if (d == subMenu & c == List.SELECT_COMMAND) {
int item = subMenu.getSelectedIndex();
switch (item) {
case 0:
display.setCurrent(mainMenu);
System.out.println("Selecionou o primeiro do submenu");
break;
case 1:
display.setCurrent(mainMenu);
System.out.println("Selecionou o segundo do submenu");
break;
case 2:
display.setCurrent(mainMenu);
System.out.println("Selecionou o terceiro do submenu");
break;
}
}
}
}
esse é um exemplo de transição de tela com um list, tenta implentar no seu projeto
pelo que eu entendi é isso que você está procurando
Parece que quando o setCurrent de Display é “setado” a tela não muda imediatamente, parece que tem um delay, pelo o que eu entendi, pode ser que esteja errado…
O problema que eu tenho que parar a aplicaçõa nesta tela e depois continuar quando um comando for disparado, como eu posso parar a aplicação e exibir uma determinada tela?