returnObject ничего не возвращает - PullRequest
0 голосов
/ 12 мая 2011

Я работаю с последней версией SDK 4.5.0.20967.Я работал раньше с SDK Hero.Все работает нормально, но у меня проблема с моим returndObject.Это единственное, что не работает.

Итак, у меня есть страница, где я делаю свой returnObject:

override public function createReturnObject():Object
        {
            return m_parameters;
        }

Когда я отлаживаю, я вижу, что мой navigator.poppedViewReturnedObject = null.

var poppedViewReturnedObject:ViewReturnObject = navigator.poppedViewReturnedObject;

Кто-нибудь знает, что я делаю неправильно, или есть решение?

С уважением,

Тибо Хейлен

Ответы [ 2 ]

3 голосов
/ 14 февраля 2012

poppedViewReturnedObject доступен только в addHandler представления, которое изначально выдвинуло ваше новое представление, содержащее переопределенный метод createReturnObject.

Когда будет доступен poppedViewReturnedObject, т. Е. Не равен нулю?Когда вызывается popview (), конечно.

Если вы попытаетесь получить доступ к poppedViewReturnedObject в других обстоятельствах, например, в обработчике viewActivation, он будет нулевым.

Пример кода:

<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    add="addHandler(event)"
    viewActivate="viewActivateHandler(event)"
>
<fx:Script>
    <![CDATA[
        import mx.events.FlexEvent;

        import spark.events.ViewNavigatorEvent;

        protected function addHandler(event:FlexEvent):void
        {
            if (navigator.poppedViewReturnedObject==null){
                // do something
                var poppedViewReturnedObject:ViewReturnObject = navigator.poppedViewReturnedObject;
            }
        }
        protected function viewActivateHandler(event:ViewNavigatorEvent):void
        {
            // here , navigator.poppedViewReturnedObject is null
        }


    ]]>
</fx:Script>

0 голосов
/ 12 мая 2011

Вы должны инициализировать свой ViewReturnObject в добавлении инициализатора.Тогда это работает

...