<s:ViewNavigator id="trends" label="Trends" width="100%" height="100%" firstView="views.TrendsView" icon="@Embed('assets/column-chart-icon32.png')"/>
<s:ViewNavigator id="attach" label="Attach" width="100%" height="100%" firstView="views.AttachView" icon="@Embed('assets/paperclip-icon32.png')"/>
现在,我知道如果您点击“趋势”,那么将显示firstView“views.TrendsView”。 现在您进入该视图并再次单击“趋势”(底部导航栏)哪个事件将灵活调度?
答案 0 :(得分:1)
这可能对您有所帮助: http://opensource.adobe.com/wiki/display/flexsdk/View+and+ViewNavigator
根据此文档,您的类“views.TrendsView”应该在再次单击“trend”时调度ViewNavigatorEvent.VIEW_ACTIVATE类型的事件。
答案 1 :(得分:1)
如果你想在视图导航器上听取事件的话,我发现它们可以起作用:
elementAdd="mainNavigator_elementAddHandler(event)"
elementRemove="mainNavigator_elementAddHandler(event)"
在这种情况下,我的视图导航器称为“mainNavigator”。我也这样做了:
ChangeWatcher.watch(mainNavigator,'length', mainNavigator_lengthChangeHandler, false, true);
但我不知道那是否干净。
答案 2 :(得分:0)
@Davz, viewActivate只发送一次,即第一次点击“趋势”。进入“趋势”并再次单击后,它将不会触发viewActivate事件,因为该视图已激活。我认为flex不会在活动视图上触发任何事件,即“趋势”选项卡处于活动状态,您再次单击底部导航栏上的“趋势”(在TabViewNavigatorApplication中)