Привет, я новичок в Blackberry и пытаюсь создать настраиваемое диалоговое окно ввода для события щелчка меню в Blackberry 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 == "", и я получу диалоговое окно с надписью пусто.
Я просто хочу это значение текстового поля. Пожалуйста, помогите, я застрял на этом ...