J'ajoute donc un formulaire à mon application J2ME mais obtiens toujours une exception nullpointer lorsque j'essaie de revenir à l'écran principal. Cela ne semble pas se produire lorsque j'utilise une toile, je peux retourner au menu principal avec succès. Ce qui donne?Obtention d'une exception nullpointer lors de la commutation des objets affichables dans J2ME
À partir de la forme de la principale midlet
quickAlarm = new QuickAlarm("Set quick alarm",this);
display.setCurrent(quickAlarm);
Constructor dans QuickAlarm
public QuickAlarm(String title,HelloMIDlet midlet) {
super(title);
df = new DateField("Alarm time",DateField.TIME);
this.append(df);
this.midlet = midlet;
backCommand = new Command("Back",Command.BACK,0);
saveCommand = new Command("Save",Command.OK,1);
this.addCommand(backCommand);
this.addCommand(saveCommand);
}
Pour en revenir au menu principal de QuickAlarm,
this.midlet.leaveCanvas();
C'est dans la principale midlet
public void leaveCanvas() {
display.setCurrent(startOptions);
}
L'erreur complète est
TRACE: <at java.lang.NullPointerException: 0>, Exception caught in Display class
java.lang.NullPointerException: 0
at javax.microedition.lcdui.Display$ChameleonTunnel.callScreenListener(), bci=46
at com.sun.midp.chameleon.layers.SoftButtonLayer.processCommand(), bci=74
at com.sun.midp.chameleon.layers.SoftButtonLayer.soft1(), bci=37
at com.sun.midp.chameleon.layers.SoftButtonLayer.keyInput(), bci=36
at com.sun.midp.chameleon.CWindow.keyInput(), bci=38
at javax.microedition.lcdui.Display$DisplayEventConsumerImpl.handleKeyEvent(), bci=17
at com.sun.midp.lcdui.DisplayEventListener.process(), bci=277
at com.sun.midp.events.EventQueue.run(), bci=179
at java.lang.Thread.run(Thread.java:637)
display.setCurrent (startOptions); Où est * startOptions * défini? – frayser
Son défini dans le middlet principal. – Pallinder