0

我正在使用最新的 SDK 4.5.0.20967。我以前与 SDK Hero 合作过。一切正常,但我的返回对象有问题。这是唯一不起作用的事情。

所以我有一个页面让我返回对象:

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

当我调试时,我看到我的 navigator.poppedViewReturnedObject = null。

var poppedViewReturnedObject:ViewReturnObject = navigator.poppedViewReturnedObject;

有人知道我做错了什么或有解决方案吗?

亲切的问候,

蒂博海伦

4

2 回答 2

3

poppedViewReturnedObject 仅在最初推送包含覆盖的 createReturnObject 方法的新视图的视图的 addHandler 中可用。

poppedViewReturnedObject 何时可用,即不为空?当然,当调用 popview() 时。

如果您尝试在其他情况下访问 poppedViewReturnedObject,例如在 viewActivated 处理程序中,它将为空。

代码示例:

<?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>

于 2012-02-14T09:45:31.703 回答
0

您必须在添加初始化程序中初始化您的 ViewReturnObject。然后它工作

于 2011-05-12T14:49:29.940 回答