Проблемы с LWUIT в J2ME на Nokia E72 - PullRequest
1 голос
/ 03 июня 2010

Хорошо, я разрабатываю приложение в своем мобильном телефоне, которое будет подключаться к моему ПК, проблема в том, что каждый раз, когда я возвращаю URLRequest на мобильный телефон, он показывает предыдущую форму на экране, а не фактическую Например, вот что идет в моем actionListener:

public void actionPerformed(ActionEvent ae) {
    if (ae.getCommand() == guiaUtil.cSelecionar()) {
        LoginRemote loginRemote = new LoginRemote();

        try {
            //This is the request, returns true or false, does not affect the form
            loginRemote.login(tLogin.getText(), tPassword.getText());
        } catch (Exception e) {

            GuiaUtil.error(e);
            return;
        }
        guiaUtil.mainApp().startMenu();
    }

}

Тогда в "guiaUtil.mainApp (). StartMenu ()" у меня есть

public void startMenu() {
    if (itemsMenu == null) {
        itemsMenu = new List();
        itemsMenu.setWidth(320);

        itemsMenu.addItem("Sincronize Spots");
        itemsMenu.addItem("Find Spots");
        itemsMenu.addItem("Work");
        itemsMenu.setFocus(true);

        this.addComponent(itemsMenu);
        this.addCommandListener(this);
        this.addCommand(guiaUtil.cSelect());
        Form form = new Form();
        form.addComponent(itemsMenu);

    }
    form.show();

}

В любом случае, после возврата запроса он снова отображает мою форму входа вместо отображения списка меню

Ответы [ 3 ]

1 голос
/ 21 августа 2012

Может быть, вы получаете исключение, обрабатываете его с GuiaUtil.error и возвращаетесь с actionPerformed без вызова startMenu.
Я бы переместил guiaUtil.mainApp().startMenu() внутрь блока try / catch.

0 голосов
/ 21 августа 2012

Вы должны поместить следующий код вне условия if.

Form form = new Form();
form.addComponent(itemsMenu);

У вас есть два объекта формы. один внутри if и другой вне if. Объект, созданный внутри цикла, потеряет область видимости внутри if. Вы показываете объект формы снаружи, если. Поэтому экран со списком меню не отображался.

0 голосов
/ 05 августа 2010

Не уверен, что происходит в loginRemote.login(tLogin.getText(), tPassword.getText()); Если вы подключитесь к сети, я бы поместил эту часть в другой поток. Сообщите основному потоку с помощью какого-либо обратного вызова, когда "удаленный вход в систему" сделан, тогда вы можете показать menuForm из edt.

...