我收到 Flex 错误 #2007,就在应用程序启动时。
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/getChildIndex()
at mx.core::Container/getChildIndex()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\Container.as:2411]
at mx.containers::ViewStack/set selectedChild()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\containers\ViewStack.as:557]
at property/parseUrl()[/Users/myname/Documents/Flex Builder 3/property/src/property.mxml:8803]
at property/initBrowserManager()[/Users/myname/Documents/Flex Builder 3/property/src/property.mxml:8749]
at property/___property_Application1_creationComplete()[/Users/myname/Documents/Flex Builder 3/property/src/property.mxml:19]
我正在尝试让深层链接正常工作。Adobe Flex 论坛上的 Bhasker Chari 非常友好地帮助我编写了以下代码:
private function parseUrl(e:BrowserChangeEvent = null):void {
var o:Object = URLUtil.stringToObject(browserManager.fragment);
var j:Object = o.view;
var f:String = String(j);
var c:String = f.replace(/-/g,"_");
var t:Container = mainViewStack.getChildByName(c) as Container;
mainViewStack.selectedChild = t;
}
基本上,我使用 browserManager.fragment,将其转换为字符串,将破折号替换为下划线,将其转换为容器,然后使用它在 mainViewStack 上设置 selectedChild。
但是,当它初始化时,它说没有子参数。我怎么解决这个问题?
谢谢你。
-拉克西米迪