2011-12-26 15 views
0

ブラックベリーのポップアップに関する質問があります。 私のアプリケーションでは、メイン画面に携帯電話のリストがあります。そして、「追加」ボタンをクリックすると、入力した携帯電話番号を許可するポップアップ(pushScreenポップアップ)が表示され、ポップアップ(popScreenポップアップによって)の「OK」をクリックすると、現在のリスト表示を更新する必要があります。ブラックベリーのポップアップから戻り値を取得する方法

ポップアップからの戻り値の取得方法、わかりません。この場合、戻り値はポップアップで入力される携帯番号です。ポップアップを閉じると、携帯電話のリストを更新する必要があります。

私を助けてください!

答えて

0

ポップアップで使用されるUIフィールドから値を取得するには、変数をいくつかの変数に格納し、いくつかのゲッターメソッドを実装する必要があります。以下は、検索ボタンをクリックすると、ポップアップ画面に入力された検索キーをゲッター方式で取得する検索ポップアップ画面の例です。

ポップアップ実装:

class SearchDialog extends Dialog { 
    public static final int CANCEL = 1000; 
    public static final int SEARCH = 2000; 

    private static final String[] choices = { "Search", "Cancel" }; 
    private static final int[] values = { SEARCH, CANCEL }; 

    private EditField searchField = new EditField("Address: ", "", 50, EditField.EDITABLE); 

    private static Bitmap bmSearch = Bitmap.getBitmapResource("cmd_search.png"); 

    private SeparatorField separatorField = new SeparatorField(USE_ALL_WIDTH); 

    public SearchDialog() { 
     super("Search Address", choices, values, SEARCH, bmSearch); 

     Manager delegate = getDelegate(); 
     if (delegate instanceof DialogFieldManager) { 
      DialogFieldManager dfm = (DialogFieldManager) delegate; 

      Manager manager = dfm.getCustomManager(); 
      if (manager != null) { 
       manager.insert(separatorField, 0); 
       manager.insert(new LabelField(), 1); 
       manager.insert(searchField, 2); 
       manager.insert(new LabelField(), 3); 
      } 
     } 
    } 

    public String getSearchKey() { 
     return (searchField == null) ? "" : searchField.getText(); 
    } 
} 

ダイアログから値を取得する(検索キー):

SearchDialog seaerchDialog = new SearchDialog(); 
int ret = seaerchDialog.doModal(); 
if (SearchDialog.SEARCH == ret) { 
    // get the search key entered on search dialog 
    String key = seaerchDialog.getSearchKey(); 
} 
else if (SearchDialog.CANCEL == ret) { 
    // do something.. 
} 
+0

ありがとう!それはOKです – Tama

+0

申し訳ありませんが、私はそれを試したが、メイン画面をリフレッシュできないので、戻り値を得ることができません:( – Tama

+0

"ポップアップから戻り値を取得する方法はわかりません。スニペットはポップアップ(ダイアログ)からデータを取得するのに役立ちますが、新しいデータで画面をリフレッシュする方が簡単です。リストの内容を新しい値で更新し、MainScreenのinvalidate()を呼び出します。挑戦し続ける :) – Rupak

関連する問題