最近用到TabNavigator,想在那个tabBar上点选的时候触发一个自己的回调方法,可是想象中触发的事件和实际真正应该用到的那个是不一样的!最有意思的是,并不是我一个人遇到这样的困惑,一个老外也和我一个感觉,不知道是是该高兴,还是该怎么的。
其实很容易的,就是说点击TabNavigator上的选项卡时触发的是IndexChangedEvent.CHANGE,而不是那个tabIndexChange。
其实很容易的,就是说点击TabNavigator上的选项卡时触发的是IndexChangedEvent.CHANGE,而不是那个tabIndexChange。
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="InitApp()">
<mx:Script>
<![CDATA[
private var _group:Boolean = false;
import mx.events.IndexChangedEvent;
private function InitApp():void
{
tabnavigator.addEventListener(IndexChangedEvent.CHANGE,indexChangeHandler);
}
function indexChangeHandler(event:IndexChangedEvent):void
{
if (tabnavigator.selectedIndex==0 && !_group)
{//第一个tab项操作的内容}
}
]]>
</mx:Script>
<mx:TabNavigator width="183" x="8" y="63" selectedTabTextStyleName="mySelect" paddingTop="-1" id="tabnavigator">
<s:NavigatorContent label="人员" width="100%" height="100%" >
<mx:VBox id="redVBox" width="181" height="338" borderStyle="solid" borderColor="#c6d4de" >
</mx:VBox>
</s:NavigatorContent>
<s:NavigatorContent label="群" width="100%" height="100%" >
<mx:VBox id="orangeVBox" width="181" height="338" borderStyle="solid" borderColor="#c6d4de">
</mx:VBox>
</s:NavigatorContent>
<s:NavigatorContent label="最近联系人" width="100%" height="100%">
<mx:VBox id="yellowVBox" width="181" height="338" borderStyle="solid" borderColor="#c6d4de">
</mx:VBox>
</s:NavigatorContent>
</mx:TabNavigator>