Olá galera que já me ajudou muito aqui, seja com comentários em tópicos e seja por minhas dúvidas também :D estou aqui novamente.
Estou programando em J2ME em OO, bom tenho uma classe "Principal" que é o meu MIDlet fiz um classe chamada "Erros" que nela ficam os Alerts da minha aplicação em caso de um aviso ou um erro.
Todos os Alerts que não possuem comanndo estão certos, eu chamo eles, aí apaerecem na tela e depois de 4 segundos voltam pra tela que tava trabbalhando.
Porém fiz um Alert que tem 2 botões: Sim e Não! (cmdYes, cmdNo), implementei nesta classe "Erros" o CommandListner e seu método ficando assim o cógido:
// DIÁLOGO
public Alert AlertDialogo(String texto) {
objAlerta = new Alert("[ AVISO ]");
objAlerta.setType(AlertType.CONFIRMATION);
objAlerta.setString(texto);
cmdYes = new Command("Sim", Command.OK, 0);
cmdNo = new Command("Não", Command.CANCEL, 0);
objAlerta.addCommand(cmdYes);
objAlerta.addCommand(cmdNo);
try {
imagem = Image.createImage("/img_alerta.png");
objAlerta.setImage(imagem);
} catch (IOException e) {
System.out.println("Não foi possível carregar a imagem de Erro.");
e.printStackTrace();
}
objAlerta.setCommandListener(this);
return objAlerta;
}
public void commandAction(Command c, Displayable d) {
if(c.equals(cmdYes)){
System.out.println("Sim");
principal.destroyApp(true);
} else {
System.out.println("Não");
principal.trocarTela(Principal.TELA_FORM_ESCOLHA_CONSULTA);
}
}
Acontece que tanto o cmdYes quando o cmdNo da este erro:
Sim java.lang.NullPointerException at br.com.buscamobile.Erros.commandAction(+16) at javax.microedition.lcdui.Alert$1.commandAction(+35) at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(+282) at javax.microedition.lcdui.Display$DisplayManagerImpl.commandAction(+10) at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(+68 ) at com.sun.midp.lcdui.AutomatedEventHandler.commandEvent(+47 ) at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.handleVmEvent(+186) at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+57)
O que estou fazendo de errado? Obrigado.