Flex 4中 弹出窗口focusManager值为null的解决办法
来源:互联网 发布:会声会影软件免费吗 编辑:程序博客网 时间:2024/06/07 03:30
纠结了几天的问题终于解决了。我的代码结构是这样的,在一个主窗口中弹出一个模态子窗口,该子窗口结构(大概结构,并非完全代码)mxml代码如下:
<s:group>
<mx:TabNavigator>
<s:NavigatorContent>
<s:TextInput/>
</s:NavigatorContent>
<s:NavigatorContent/>
</mx:TabNavigator>
</s:group>
当点击弹出窗口以后,获取到的focusManager为null。后来经过查看国外的一些资料及api发现,应该是弹出窗口需要实现IFocusManagerComponent
参考http://eastmond.org/blog/?tag=popupmanager
IFocusManagerComponent的API中有一段话,也提到了这一点:
IFocusManagerComponent 接口用于定义一些接口,可获得焦点的组件必须实现这些接口才能从 FocusManager 获得焦点。UIComponent 类中提供了此接口的基本实现,但 UIComponent 并不实现完整的 IFocusManagerComponent 接口,因为部分 UIComponent 无需获得焦点。因此,要使 UIComponent 派生的组件成为一个可获得焦点的有效组件,只需将“implements IFocusManagerComponent”添加到类定义即可。
再经过查看s:group,并未实现IFocusManagerComponent,而TabNavigator则实现了TabNavigator,因此我尝试将上面的代码去掉了外层的s:group改成(大概):
<mx:TabNavigator>
<s:NavigatorContent>
<s:TextInput/>
</s:NavigatorContent>
<s:NavigatorContent/>
</mx:TabNavigator>
则focusManager不再为null,运行正常了。- Flex 4中 弹出窗口focusManager值为null的解决办法
- Flex中如何利用FocusManager类的setFocus函数设置TextInput的焦点的例子
- Flex中如何利用FocusManager类的setFocus函数,设置TextInput的焦点
- Flex中如何利用FocusManager类的setFocus函数,设置TextInput的焦点
- Android中getActivity()为null的解决办法
- Android中getActivity()为null的解决办法
- Flex 中解决 stage为null的方法
- Flex 中解决 stage为null的方法
- flex弹出窗口中方法执行顺序
- Flex使用Popupmanager弹出窗口的交互传值方法
- ServiceConfigurationMBean为null的解决办法
- getActionBar为null的解决办法
- getActionBar为null的解决办法
- WCF Service中HttpContext.Current为null的解决办法
- WCF Service中HttpContext.Current为null的解决办法
- Fragment中调用getActivity为null的解决办法
- 弹出窗口错误出现对象为 null 或未定义
- 全面认识Flex弹出窗口的方法
- 由harris角点检测来的知识
- 解析UML用例图之include与extend
- css学习的一点总结
- X509证书信任管理器类的实现及应用
- js 中方法调用
- Flex 4中 弹出窗口focusManager值为null的解决办法
- Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器
- 如何往clob类型中插入一个超过10000 bytes 的字符串
- 非AppStore安装Xcode的路径设置
- 有关Session的相关问题
- js常用操作
- windows驱动学习_First
- java线程
- 使用dict和set