嗨,我是黑莓新手,正在嘗試在黑莓7.0中的菜單單擊事件中創建一個自定義輸入對話框。一切工作正常,唯一的問題是,我無法檢索出現在對話框中的文本框的字符串。在黑莓中創建一個自定義輸入對話框
public class MyScreen extends MainScreen implements FieldChangeListener
{
String host;
private MenuItem mu;
Dialog dg;
TestDialog td;
public MyScreen()
{
final String choices[] = {"Ok","Cancel"};
final int values[] = {Dialog.OK,Dialog.CANCEL};
mu=new MenuItem("Configure IP", 1, 1){
public void run()
{
UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run()
{
td=new TestDialog(choices, values);
dg=new TestDialog(choices, values);
int iResponse = dg.doModal();
if(iResponse == 0)
{
String url=td.getUsernameFromField();
if(url.equals(""))
{
Dialog.alert("Empty");
}
else
{
Dialog.alert("Not Empty");
}
}
else
{
System.out.println("Cancel Presses");
}
}
});
}
};
addMenuItem(mu);
setTitle("Custom Dialog box");
}
}
final class TestDialog extends Dialog{
public RichTextField rd;
public TestDialog(String choices[],int values[]){
super("Enter Host address", choices,values,Dialog.OK,
Bitmap.getPredefinedBitmap(Bitmap.INFORMATION), Dialog.GLOBAL_STATUS);
rd=new RichTextField();
add(rd);
rd.setEditable(true);
XYEdges thickPadding = new XYEdges(10, 10, 10, 10);
Border roundedBorder = BorderFactory.createRoundedBorder(thickPadding,
Border.STYLE_SOLID);
rd.setBorder(roundedBorder);
}
public String getUsernameFromField(){
return rd.getText();
}
}
所以運行代碼,點擊菜單按鈕後打開一個輸入對話框。現在,如果我在文本框中輸入任何內容,然後單擊確定,我會得到String url的值==「」,然後我得到一個對話框說空。 我只想要那個文本框的值。請幫我卡在這...
感謝兄弟,這是一個很大的幫助..... – AMUL 2012-03-26 16:15:12