テキスト入力フィールドを持つBlackBerryOS(v。4-6)のモーダルダイアログはありますか?
私はグラフィカルアプリケーションを持っていますが、そのキャンバスにペイントするのは避けたいのですが、ユーザーの顔にモーダルを投げて、小さなテキストを要求するだけです。
テキスト入力フィールドを持つBlackBerryOS(v。4-6)のモーダルダイアログはありますか?
私はグラフィカルアプリケーションを持っていますが、そのキャンバスにペイントするのは避けたいのですが、ユーザーの顔にモーダルを投げて、小さなテキストを要求するだけです。
次のコードを試してください:
Dialog dialog = new Dialog(Dialog.D_OK, "Title", 0, null, 0);
EditField ef = new EditField("Input: ", "");
((DialogFieldManager)dialog.getDelegate()).getCustomManager().add(ef);
// show modal dialog, wait for response
dialog.doModal();
// get the input text
Dialog.alert(ef.getText());
さらにカスタマイズnet.rim.device.api.ui.component.Dialog
するには、拡張する必要があります。次のコードは、上記と同じように実行されます。
class InputDialog extends Dialog {
private EditField inputField;
public InputDialog() {
super(Dialog.D_OK, "Input Dialog", 0, null, 0);
Manager delegate = getDelegate();
if (delegate instanceof DialogFieldManager) {
DialogFieldManager dfm = (DialogFieldManager) delegate;
Manager manager = dfm.getCustomManager();
inputField = new EditField("Input: ", "", 50, EditField.EDITABLE);
if (manager != null) {
manager.insert(inputField, 0);
}
}
}
public String getInputText() {
return (inputField == null) ? "" : inputField.getText();
}
}
使用例:
InputDialog seaerchDialog = new InputDialog();
// show modal dialog, wait for response
seaerchDialog.doModal();
// get the input text
Dialog.alert(seaerchDialog.getInputText());
次のコードを試してください。
これらをグローバルに保ちます:
Dialog dialog;
BasicEditField bEditField = new BasicEditField();
次に、次のようなカスタム ダイアログを作成します。
dialog = new Dialog(Dialog.OK, "Enter Value:", Dialog.OK, null, Dialog.DEFAULT_CLOSE);
dialog.add(bEditField);
dialog.doModal()
いくつかのボタンまたはメニュー アクションから呼び出します。
int i = dialog.doModal();
if(i == Dialog.OK) {
Dialog.inform("The Input Text is : " + bEditField.getText());
}