Нулевое значение в BasicEditField на устройстве Blackberry - PullRequest
0 голосов
/ 18 августа 2011

При тестировании моего приложения в симуляторе мое приложение работает отлично.Но на реальном устройстве я получаю Null для BasicEditField, поэтому я не могу выполнить свое приложение.Ниже приведен фрагмент кода.

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 и исключение, говорящее Метод "toString" с подписью "() Ljava / lang/ String;»неприменимо к этому объекту

Это был целый день, но я не смог преодолеть эту проблему.

1 Ответ

1 голос
/ 20 августа 2011

Я подозреваю, что это как-то связано с доступом к нестатическим полям внешнего класса из анонимного внутреннего класса.Попробуйте:

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

Прочитайте эту страницу википедии .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...