2010-11-23 6 views
0

私は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) 
+0

display.setCurrent(startOptions); * startOptions *はどこに設定されていますか? – frayser

+0

メインミドルで定義されています。 – Pallinder

答えて

0

無視され、私は単純に、セットアップにコマンドリスナーを忘れてしまいました。

0

method.So彼らは「quickAlarm」&「startOptions」のためにそれを確認する「)display.setCurrent(」。あなたがに「表示可能」オブジェクトを渡すことができるはず「quickAlarm」&「startOptions」であるかを定義「javax.microedition.lcdui.Displayable」のサブクラス

関連する問題