关键字: TabNavigator creationPolicy Component
TabNavigator 这个控件,是flex中的常用控件,通常用来页面导航。平常在使用中一般不会出现什么问题。
TabNavigator 示例
Component是flex中的组件,在flex里,我们可以自定义自己的组件。如果我们在自己定义的组件中,使用到了TabNavigator 这个控件,会遇到一个奇怪的问题。如图我们定义了一个TabNavigator ,它有两个分页,在第一个分页里,我们放一个 label控件 ID为 labe_1,在第二个页面里我们放一个label控件, ID为 labe_2。
好了,现在我们在程序的主界面里,我们弹出我们定义的这个组件,并调有这个组件里我们定义的一个函数。函数如下:
好了,执行后,程序报错了,提示我们 labe_2 不存在,为NULL。怎么了,为什么出错?????
。。。
。。。
。。。
这真是一个奇怪的问题啊。 查资料,找到了这个网站: http://ldsea.cn/post/115/
“现在要解决这个问题就只有让TabNavigator在创建children的时候就要把所有的children都创建。这个时候我们就要关注Container.createPolicy属性了。Container内部的children不是在createChild里面创建的。。。。。。”
原来这个creationPolicy 默认只创建了第一个页面,后面的页面还没有创建,你访问它,当然为空。
我们关注一下 .createPolicy 这个属性,它有 all none queued auto等选项,把它设置成 all 就可以访问了。
OK。