Flex Mobile сохранить просмотр данных - PullRequest
2 голосов
/ 18 сентября 2011

Я создал простое приложение hello world, чтобы проверить мобильные возможности Flash Builder 4.5.

Вот как это работает:

Представление по умолчанию запрашивает имя в текстовом поле и продолжаеткнопка

Когда вы нажимаете кнопку продолжения, она открывает новое представление в viewNavigator, которое просто отображает «Hello» + имя в метке.

Когда вы щелкаете в любом месте этого представления, оно выскакиваетпредставление (т.е. само) из viewNavigator, чтобы вернуться к представлению по умолчанию

Я вижу только одну проблему с этим: Когда я возвращаюсь к представлению по умолчанию, оно находится в своем начальном состоянии, то есть textInputпустой.Похоже, что viewNavigator создал новое представление класса представления по умолчанию и выдвинул это вместо простого удаления вида сверху и отображения предыдущего.

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

Есть идеи или хитрости, чтобы решить эту проблему?

РЕДАКТИРОВАТЬ:
Название проекта: HelloWorld
Код ниже:

HelloWorldDefaultView.mxml

protected function button1_clickHandler(event:MouseEvent):void {
    navigator.pushView(HiView, tName.text);
}

HiView.mxml

protected function view1_clickHandler(event:MouseEvent):void {
    navigator.popView();
}

protected function view1_creationCompleteHandler(event:FlexEvent):void {
    lblHello.text="Hello " + data;
}

Снимки экрана

Initial screen
Начальный экран

Screen 2
Экран 2

Clicking on screen 2 gets us back to initial screen. Notice the blank textInput
Нажатие на экран 2 возвращает нас к начальному экрану.Обратите внимание на пустой текст Input

Ответы [ 2 ]

1 голос
/ 19 сентября 2011

Вы пытались установить destroyPolicy = "never" , а затем

protected function button1_clickHandler(event:MouseEvent):void {
    data = tName.text;
    navigator.pushView(HiView, tName.text);
}

для сохранения данных в данных текущего представления - перед переходом на другое?

1 голос
/ 18 сентября 2011

Так должно работать для мобильных приложений.

Ознакомьтесь с этой статьей: Flex 4.5 (Hero) - постоянные данные в MobileApplication

Как пишут:

Каждый раз, когда представление удаляется из списка отображения (через popView () или pushView ()), его экземпляр уничтожается, но его модель данных сохраняется в памяти.

Чтобы сохранить состояние сеанса для представления, необходимо изменить свойство данных. Это свойство будет запрошено при уничтожении текущего экземпляра класса View. И значение свойства данных будет возвращено вновь созданному экземпляру того же класса View при переходе обратно к этому представлению.

...