Проблема обновления графического интерфейса в J2ME - PullRequest
1 голос
/ 22 сентября 2010

Допустим, у меня есть две формы: form1 и form2.

После нажатия NEXT_COMMAND в form1 мне нужно изменить значение gauge в form2а затем показать form2.Таким образом:

public void commandAction(Command command, Displayable displayable) {
....
else if (displayable == form1) {
    if (command == NEXT_COMMAND) {
        form2_gauge.setValue(value);
        display.setCurrent(form2);
    }
....
}
....

Однако, это не работает, как я ожидал.Сначала это ничего не меняет.С другой стороны, если я вернусь с form2 на form1, а затем снова с form1 на form2, это сработает.

Я не могу понять это сам.Я был бы чрезвычайно благодарен за любую возможную помощь.

Спасибо!

1 Ответ

1 голос
/ 22 сентября 2010

Мне кажется, что form2.gauge здесь не правильно.Вы должны сохранить объект Gauge следующим образом:

Gauge form2_gauge([...]);
form2.append(form2_gauge);

Тогда ваш код будет:

[...]
    form2_gauge.setValue(value);
    display.setCurrent(form2);
[...]

Вы пробовали другую последовательность?Вот так:
display.setCurrent(form2);
form2_gauge.setValue(value);
Не думаю, что это что-то изменит, но может заставить работать.

...