2011-05-12 257 views
0

我正在使用最新的SDK 4.5.0.20967。我之前与SDK Hero合作过。 一切工作正常,但我有我的returndObject问题。这是唯一不起作用的东西。returnObject不返回任何内容

所以我有一个网页,我让我的返回object:

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

当我调试我看到我的navigator.poppedViewReturnedObject = NULL。

var poppedViewReturnedObject:ViewReturnObject = navigator.poppedViewReturnedObject; 

有没有人知道我在做什么错或有解决方案?

亲切的问候,

蒂博·海伦

+0

你没有足够的展示你的代码,这里是 'createReturnObject'?什么是'm_parameters'? – 2011-05-12 14:47:52

回答

0

你必须初始化ViewReturnObject在添加初始化。然后它的工作原理

3

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

何时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> 

+1

谢谢 - 正是我需要的。我会补充说,对于那些编写纯动作脚本,你会想要这样的东西:this.addEventListener(FlexEvent.ADD,this.addActivateHandler);赶上事件。 – teapot7 2012-07-07 11:40:38

相关问题