我正在使用最新的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
答案 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。然后它工作