2012-04-04 8 views
0
public class xyz extends PopupScreen{ 
} 

この画面が表示されたらメニュー項目を追加します。メイン画面のようにメニュー項目を追加しようとしましたが、popupScreenでは機能しません。問題は、例えばということですので、ポップアップ画面のメニューでblackberryでpopupScreenを開いたときにメニュー項目を追加することは可能ですか?

+0

あなたが現在popupScreenがポップアップされたときに前の画面にメニューアイテムを追加したいですか? – alishaik786

答えて

1

を追加することはできません。 -

私はサンプル画面として、およびサンプル画面LET上mainscreenコールを持っている私は、メインから今、メニューを保存し、キャンセルしてきたと言います画面私はポップアップ画面を押します。さて、私はポップアップ画面でも保存とキャンセルのメニューを望んでいれば、ブラックベリーはそれがどのメニューであるかを認識することができません。サンプル画面かポップアップ画面のどちらかです。

だから、ブラックベリーはポップアップ画面のメニューをサポートしていません。

1

はあなたの条件のように、このサンプルクラスをお試しください:

public class SimpleScreen extends MainScreen 
{ 
Font font; 
private MenuItem saveItem; 
private ButtonField buttonField; 
public SimpleScreen() 
{ 
    font=Font.getDefault().derive(Font.ITALIC|Font.BOLD, 20); 
    createGUI();   
    this.setFont(font); 
} 

private void createGUI() 
{ 
    buttonField=new ButtonField("Click For Popup",Field.FIELD_HCENTER); 
    buttonField.setChangeListener(new FieldChangeListener() 
    { 
     public void fieldChanged(Field field, int context) 
     { 
      UiApplication.getUiApplication().pushScreen(new ScreenPopup(SimpleScreen.this)); 
     } 
    }); 
    add(buttonField); 

} 

public void addMenuItemToMenu() 
{ 
    if(saveItem==null) 
    { 
     saveItem=new MenuItem("Save",100,101) 
     { 
      public void run() 
      { 
       Status.show("Clicked on Save Menu", 500); 
      } 
     }; 
     addMenuItem(saveItem); 
    } 
}   
} 

class ScreenPopup extends PopupScreen 
{ 
private SimpleScreen simpleScreen; 
public ScreenPopup(SimpleScreen simpleScreen) 
{ 
    super(new HorizontalFieldManager(),PopupScreen.DEFAULT_CLOSE); 
    this.simpleScreen=simpleScreen; 
    this.add(new LabelField("ADDING Menu By Clicking the Back Button")); 
} 

public boolean onClose() 
{ 
    simpleScreen.addMenuItemToMenu(); 
    return super.onClose(); 
} 
} 
+0

答えに感謝しますが、私はメインスクリーンを拡張してカスタムダイアログボックスを作っています........................... – user1155773

関連する問題