Flex中State切换的问题

assin 2009-03-19 06:14:38
使用states的时候遇到的问题。请大家帮忙~~先谢谢了


程序入口定义了一个states里面有多种状态。切换了一种状态后 界面整体就变为那个界面了。如果点击一个按钮在切换到其他页面去(按钮只是在其中一个界面之中的).

如:
<mx:states>
<mx:State id="s" name="s1">
<mx:AddChild creationPolicy="auto">
<selector:selector id="selector"/>
</mx:AddChild>
</mx:State>
<mx:State id="h" name="h1">
<mx:AddChild creationPolicy="auto">
<Home:Home id="home"/>
</mx:AddChild>
</mx:State>
</mx:states>


当进入了s1状态后 在<selector:selector id="selector"/>里有一个按钮 如何控制进入h1状态,我想把states 写在一个地方,这样便于管理。。。。可不知道该怎么做了 请大家帮忙/~~~谢谢
...全文
1130 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuce2008 2009-11-04
  • 打赏
  • 举报
回复
路过学习~
bailiang1986 2009-09-28
  • 打赏
  • 举报
回复
在button的click="this.currtenState ='h'",就可以从s状态到h了
lalaguan 2009-09-24
  • 打赏
  • 举报
回复
路过学习~
nittanypig 2009-04-25
  • 打赏
  • 举报
回复
楼上是正解!
YangPuxiao 2009-04-22
  • 打赏
  • 举报
回复
我也尝试过,通过 this.parentApplication.currtenState 来设置
但是如果说你的主程序本身并不是application,那样上面的就不行了。

像这样类似的需求,一个终极的解决办法是 通过抛出自定义来解决。
假如我们定义一个事件:CustomStateEvent
states的容器里,注册侦听 CustomStateEvent 事件
而任意需要触发改变state的地方,抛出一个CustomStateEvent改变的事件

因为事件是不受级别限制的,所以,这样做就可以任意地方发送改变state事件,states 侦听事件发生相应改变就好了。

关于这个CustomStateEvent 的写法,可以参照这个:

Flex自定义事件:一个地方派发(抛出),任何地方监听(捕获)
http://www.puxiao.com/?p=201

4,327

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧