Olá galera que já me ajudou muito aqui, seja com comentários em tópicos e seja por minhas dúvidas também 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:
[code]// 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;
}
Acontece que tanto o cmdYes quando o cmdNo da este erro:
[quote]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)
[/quote]
Pois é, pode ter certeza q essa nao é uma ma saida ,quando respodi ai em cima nao sabia que principal era midlet, é que para instanciar uma classe midlet voce tem que passa-la como parametro e nao chamar seu construtor.