returnObject不返回任何内容

时间:2011-05-12 14:38:41

标签: android flex flex4.5

我正在使用最新的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;

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

亲切的问候,

Thibault Heylen

2 个答案:

答案 0 :(得分:3)

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

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

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

代码示例:

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

答案 1 :(得分:0)

您必须在添加初始值设定项中初始化ViewReturnObject。然后它工作