Blackberry设备上BasicEditField中的空值

Blackberry设备上BasicEditField中的空值,blackberry,Blackberry,在模拟器中测试我的应用程序时,我的应用程序运行良好。但在实际设备上,BasicEditField的Null,因此我无法执行我的应用程序。下面是我的代码片段 public class Login extends MainScreen { private UiApplication application = UiApplication.getUiApplication(); private BasicEditField _email = null; private Pas

在模拟器中测试我的应用程序时,我的应用程序运行良好。但在实际设备上,BasicEditField的Null,因此我无法执行我的应用程序。下面是我的代码片段

public class Login extends MainScreen {

    private UiApplication application = UiApplication.getUiApplication();
    private BasicEditField _email = null;
    private PasswordEditField _pwd = null;
    private ButtonField login = null;
    String imei = GPRSInfo.imeiToString(GPRSInfo.getIMEI(), false);

    public Login(){

        try {
            _email = new BasicEditField("Email: ", "", 100, EditField.NO_NEWLINE);
            _email.setFont(font);
            add(_email);

            _pwd = new PasswordEditField("Password: ", "", 100, EditField.NO_NEWLINE);
            _pwd.setFont(font);
            add(_pwd);

            login = new ButtonField("Login", ButtonField.CONSUME_CLICK);
            login.setChangeListener(new FieldChangeListener() {
                public void fieldChanged(Field field, int context) {
                    String e = _email.getText();
                    String xmlUrl = "http://********:9090/com.infra.rest/rest/todo?email='"+ e +"'&dId='"+ imei +"';deviceside=true";

                    String[][] urlData = XmlFunctions.getUserFromXml(xmlUrl);
                }
            });
            login.setFont(font);
            add(login);
        } catch (Exception e) {
            System.out.println("Failed to create user interface components");
        }
    }
}
在检查电子邮件和imei值时,我得到NULL,并且带有签名“()Ljava/lang/String;”的方法“toString”异常不适用于此对象


已经一整天了,但我无法克服这个问题。

我怀疑这与从匿名内部类访问非静态外部类字段有关。尝试:

String e = Login.this._email.getText();

通读。

哪一行是空的?@jprofit:I在字符串e=\u email.getText()中得到空值;e的值为空,我认为这是不可能的。AFAIK getText()始终返回非空值。是
\u email
null还是
e