私はJ2MEアプリケーションにフォームを追加していますが、メイン画面に戻ろうとすると常にnullpointer例外が発生します。これはキャンバスを使用しているときには起こりそうにないので、メインメニューに戻ります。何がありますか? QuickAlarmからメインメニューに戻ってQuickAlarmJ2MEのdisplayablesを切り替えるときにnullpointer例外を取得する
の主なミッドレットquickAlarm = new QuickAlarm("Set quick alarm",this);
display.setCurrent(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);
}
からフォームを起動する
は、
this.midlet.leaveCanvas();
これは、メインMIDletのです
public void leaveCanvas() {
display.setCurrent(startOptions);
}
フルエラーが
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); * startOptions *はどこに設定されていますか? – frayser
メインミドルで定義されています。 – Pallinder